fix(eventstore): correct sql push function (#9201)

# Which Problems Are Solved

https://github.com/zitadel/zitadel/pull/9186 introduced the new `push`
sql function for cockroachdb. The function used the wrong database
function to generate the position of the event and would therefore
insert events at a position before events created with an old Zitadel
version.

# How the Problems Are Solved

Instead of `EXTRACT(EPOCH FROM NOW())`, `cluster_logical_timestamp()` is
used to calculate the position of an event.

# Additional Context

- Introduced in https://github.com/zitadel/zitadel/pull/9186
- Affected versions:
https://github.com/zitadel/zitadel/releases/tag/v2.67.3
This commit is contained in:
Silvan 2025-01-17 15:32:05 +01:00 committed by GitHub
parent 60857c8d3e
commit 9532c9bea5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 2 deletions

View File

@ -48,5 +48,5 @@ func (mig *InitPushFunc) Execute(ctx context.Context, _ eventstore.Event) (err e
}
func (mig *InitPushFunc) String() string {
return "40_init_push_func_v3"
return "40_init_push_func_v4"
}

View File

@ -97,7 +97,7 @@ BEGIN
, ("c").payload
, ("c").creator
, COALESCE(current_owner, ("c").owner) -- AS owner
, EXTRACT(EPOCH FROM NOW()) -- AS position
, cluster_logical_timestamp() -- AS position
, ordinality::INT -- AS in_tx_order
FROM
UNNEST(commands) WITH ORDINALITY AS c