mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-14 03:54:21 +00:00
b47f0f546f
# Which Problems Are Solved
There are cases where not all statements of multiExec are succeed. This
leads to inconsistent states. One example is [LDAP
IDPs](https://github.com/zitadel/zitadel/issues/7959).
If statements get executed only partially this can lead to inconsistent
states or even break projections for objects which might not were
correctly created in a sub table.
This behaviour is possible because we use
[`SAVEPOINTS`](https://www.postgresql.org/docs/current/sql-savepoint.html)
during each statement of a multiExec.
# How the Problems Are Solved
SAVEPOINTS are only created at the beginning of an exec function not
during every execution like before. Additionally `RELEASE` or `ROLLBACK`
of `SAVEPOINTS` are only used when needed.
# Additional Changes
- refactor some unused parameters
# Additional Context
- closes https://github.com/zitadel/zitadel/issues/7959
(cherry picked from commit
|
||
---|---|---|
.. | ||
handler | ||
repository | ||
v1/models | ||
v3 | ||
aggregate.go | ||
asset.go | ||
bench_payload.txt | ||
config.go | ||
event_base.go | ||
event.go | ||
eventstore_bench_test.go | ||
eventstore_pusher_test.go | ||
eventstore_querier_test.go | ||
eventstore_test.go | ||
eventstore.go | ||
example_test.go | ||
field.go | ||
local_crdb_test.go | ||
read_model.go | ||
search_query_test.go | ||
search_query.go | ||
subscription.go | ||
unique_constraint.go | ||
version_test.go | ||
version.go | ||
write_model.go |