Commit batches when the limit is reached while iterating over children

This commit is contained in:
André Duffeck
2026-03-25 14:27:37 +01:00
parent 210d2828a0
commit 428f69416f

View File

@@ -71,6 +71,11 @@ func (b *Batch) Move(id, parentID, location string) error {
if err := b.batch.Index(resource.ID, resource); err != nil {
return err
}
if b.batch.Size() >= b.size {
if err := b.Push(); err != nil {
return err
}
}
}
return nil
@@ -88,6 +93,11 @@ func (b *Batch) Delete(id string) error {
if err := b.batch.Index(resource.ID, resource); err != nil {
return err
}
if b.batch.Size() >= b.size {
if err := b.Push(); err != nil {
return err
}
}
}
return nil
@@ -105,6 +115,11 @@ func (b *Batch) Restore(id string) error {
if err := b.batch.Index(resource.ID, resource); err != nil {
return err
}
if b.batch.Size() >= b.size {
if err := b.Push(); err != nil {
return err
}
}
}
return nil
@@ -142,6 +157,11 @@ func (b *Batch) Purge(id string, onlyDeleted bool) error {
for _, resource := range affectResources {
b.batch.Delete(resource.ID)
if b.batch.Size() >= b.size {
if err := b.Push(); err != nil {
return err
}
}
}
return nil