mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-13 03:24:26 +00:00
fix(handler): allow uint32 offset for migration scenarios (#7103)
This commit is contained in:
parent
ab2c3f7752
commit
5ce542b959
@ -19,7 +19,7 @@ type state struct {
|
|||||||
aggregateType eventstore.AggregateType
|
aggregateType eventstore.AggregateType
|
||||||
aggregateID string
|
aggregateID string
|
||||||
sequence uint64
|
sequence uint64
|
||||||
offset uint16
|
offset uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -46,7 +46,7 @@ func (h *Handler) currentState(ctx context.Context, tx *sql.Tx, config *triggerC
|
|||||||
sequence = new(sql.NullInt64)
|
sequence = new(sql.NullInt64)
|
||||||
timestamp = new(sql.NullTime)
|
timestamp = new(sql.NullTime)
|
||||||
position = new(sql.NullFloat64)
|
position = new(sql.NullFloat64)
|
||||||
offset = new(sql.NullInt16)
|
offset = new(sql.NullInt64)
|
||||||
)
|
)
|
||||||
|
|
||||||
stateQuery := currentStateStmt
|
stateQuery := currentStateStmt
|
||||||
@ -76,7 +76,8 @@ func (h *Handler) currentState(ctx context.Context, tx *sql.Tx, config *triggerC
|
|||||||
currentState.sequence = uint64(sequence.Int64)
|
currentState.sequence = uint64(sequence.Int64)
|
||||||
currentState.eventTimestamp = timestamp.Time
|
currentState.eventTimestamp = timestamp.Time
|
||||||
currentState.position = position.Float64
|
currentState.position = position.Float64
|
||||||
currentState.offset = uint16(offset.Int16)
|
// psql does not provide unsigned numbers so we work around it
|
||||||
|
currentState.offset = uint32(offset.Int64)
|
||||||
return currentState, nil
|
return currentState, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ type Statement struct {
|
|||||||
CreationDate time.Time
|
CreationDate time.Time
|
||||||
InstanceID string
|
InstanceID string
|
||||||
|
|
||||||
offset uint16
|
offset uint32
|
||||||
|
|
||||||
Execute Exec
|
Execute Exec
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ type SearchQuery struct {
|
|||||||
AllowTimeTravel bool
|
AllowTimeTravel bool
|
||||||
AwaitOpenTransactions bool
|
AwaitOpenTransactions bool
|
||||||
Limit uint64
|
Limit uint64
|
||||||
Offset uint16
|
Offset uint32
|
||||||
Desc bool
|
Desc bool
|
||||||
|
|
||||||
InstanceID *Filter
|
InstanceID *Filter
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
type SearchQueryBuilder struct {
|
type SearchQueryBuilder struct {
|
||||||
columns Columns
|
columns Columns
|
||||||
limit uint64
|
limit uint64
|
||||||
offset uint16
|
offset uint32
|
||||||
desc bool
|
desc bool
|
||||||
resourceOwner string
|
resourceOwner string
|
||||||
instanceID *string
|
instanceID *string
|
||||||
@ -38,7 +38,7 @@ func (b *SearchQueryBuilder) GetLimit() uint64 {
|
|||||||
return b.limit
|
return b.limit
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *SearchQueryBuilder) GetOffset() uint16 {
|
func (b *SearchQueryBuilder) GetOffset() uint32 {
|
||||||
return b.offset
|
return b.offset
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ func (builder *SearchQueryBuilder) Matches(commands ...Command) []Command {
|
|||||||
if builder.limit > 0 && builder.limit <= uint64(len(matches)) {
|
if builder.limit > 0 && builder.limit <= uint64(len(matches)) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if builder.offset > 0 && uint16(i) < builder.offset {
|
if builder.offset > 0 && uint32(i) < builder.offset {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ func (builder *SearchQueryBuilder) Limit(limit uint64) *SearchQueryBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limit defines how many events are returned maximally.
|
// Limit defines how many events are returned maximally.
|
||||||
func (builder *SearchQueryBuilder) Offset(offset uint16) *SearchQueryBuilder {
|
func (builder *SearchQueryBuilder) Offset(offset uint32) *SearchQueryBuilder {
|
||||||
builder.offset = offset
|
builder.offset = offset
|
||||||
return builder
|
return builder
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user