mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 01:37:31 +00:00
fix(eventstore): prevent allocation of filtered events (#6749)
* fix(eventstore): prevent allocation of filtered events Directly reduce each event obtained from a sql.Rows scan, so that we do not have to allocate all events in a slice. * reinstate the mutex as RWMutex * scan data directly * add todos * fix(writemodels): add reduce of parent * test: remove comment * update comments --------- Co-authored-by: adlerhurst <silvan.reusser@gmail.com>
This commit is contained in:
@@ -38,7 +38,7 @@ func (rm *ExistingLabelPoliciesReadModel) Reduce() error {
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return rm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (rm *ExistingLabelPoliciesReadModel) Query() *eventstore.SearchQueryBuilder {
|
||||
|
@@ -55,7 +55,7 @@ func (wm *InstanceDomainWriteModel) Reduce() error {
|
||||
wm.State = domain.InstanceDomainStateRemoved
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (wm *InstanceDomainWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||
|
@@ -60,7 +60,7 @@ func (wm *InstanceWriteModel) Reduce() error {
|
||||
wm.DefaultLanguage = e.Language
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (wm *InstanceWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||
|
@@ -84,7 +84,7 @@ func (wm *OrgDomainWriteModel) Reduce() error {
|
||||
wm.ValidationCode = nil
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (wm *OrgDomainWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||
@@ -154,7 +154,7 @@ func (wm *OrgDomainsWriteModel) Reduce() error {
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (wm *OrgDomainsWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||
@@ -216,7 +216,7 @@ func (wm *OrgDomainVerifiedWriteModel) Reduce() error {
|
||||
wm.Verified = false
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (wm *OrgDomainVerifiedWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||
|
@@ -25,6 +25,8 @@ var (
|
||||
)
|
||||
|
||||
// PrepareCommands checks the passed validations and if ok creates the commands
|
||||
//
|
||||
// Deprecated: filter causes unneeded allocation. Use [eventstore.FilterToQueryReducer] instead.
|
||||
func PrepareCommands(ctx context.Context, filter FilterToQueryReducer, validations ...Validation) (cmds []eventstore.Command, err error) {
|
||||
commanders, err := validate(validations)
|
||||
if err != nil {
|
||||
|
@@ -79,7 +79,7 @@ func (wm *quotaWriteModel) Reduce() error {
|
||||
}
|
||||
// wm.WriteModel.Reduce() sets the aggregateID to the first event's aggregateID, but we need the last one
|
||||
wm.AggregateID = wm.rollingAggregateID
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
// NewChanges returns all changes that need to be applied to the aggregate.
|
||||
|
@@ -94,7 +94,7 @@ func (wm *SystemConfigWriteModel) Reduce() error {
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return wm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (wm *SystemConfigWriteModel) Query() *eventstore.SearchQueryBuilder {
|
||||
|
@@ -183,7 +183,7 @@ func (rm *UniqueConstraintReadModel) Reduce() error {
|
||||
rm.removeUniqueConstraint(e.Aggregate().ID, e.UserID, member.UniqueMember)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return rm.WriteModel.Reduce()
|
||||
}
|
||||
|
||||
func (rm *UniqueConstraintReadModel) Query() *eventstore.SearchQueryBuilder {
|
||||
|
Reference in New Issue
Block a user