fix(projections): pass context to statement execution method (#10328)

## Which problems are solved

The execution of statements of projections did not have the context
present.

## How the problems were solved

Pass the context to the execute function

## Additional info

This change is required to use the repositories of the relational tables
in projections.

(cherry picked from commit 20e7807ee5)
This commit is contained in:
Silvan
2025-07-29 10:58:42 +02:00
committed by Livio Spring
parent 4895e963a4
commit 4efa59d61a
18 changed files with 106 additions and 107 deletions

View File

@@ -653,7 +653,7 @@ func (h *Handler) executeStatements(ctx context.Context, tx *sql.Tx, statements
for i, statement := range statements {
select {
case <-ctx.Done():
break
return lastProcessedIndex, ctx.Err()
default:
err := h.executeStatement(ctx, tx, statement)
if err != nil {
@@ -676,7 +676,7 @@ func (h *Handler) executeStatement(ctx context.Context, tx *sql.Tx, statement *S
return err
}
if err = statement.Execute(tx, h.projection.Name()); err != nil {
if err = statement.Execute(ctx, tx, h.projection.Name()); err != nil {
h.log().WithError(err).Error("statement execution failed")
_, rollbackErr := tx.ExecContext(ctx, "ROLLBACK TO SAVEPOINT exec_stmt")