Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions lib/chirp-workflow/core/src/db/pg_nats.rs
Original file line number Diff line number Diff line change
Expand Up @@ -951,47 +951,53 @@ impl Database for DatabasePgNats {
SET forgotten = TRUE
WHERE
workflow_id = $1 AND
loop_location = $2
loop_location = $2 AND
forgotten = FALSE
RETURNING 1
),
forget_signal_events AS (
UPDATE db_workflow.workflow_signal_events
SET forgotten = TRUE
WHERE
workflow_id = $1 AND
loop_location = $2
loop_location = $2 AND
forgotten = FALSE
RETURNING 1
),
forget_sub_workflow_events AS (
UPDATE db_workflow.workflow_sub_workflow_events
SET forgotten = TRUE
WHERE
workflow_id = $1 AND
loop_location = $2
loop_location = $2 AND
forgotten = FALSE
RETURNING 1
),
forget_signal_send_events AS (
UPDATE db_workflow.workflow_signal_send_events
SET forgotten = TRUE
WHERE
workflow_id = $1 AND
loop_location = $2
loop_location = $2 AND
forgotten = FALSE
RETURNING 1
),
forget_message_send_events AS (
UPDATE db_workflow.workflow_message_send_events
SET forgotten = TRUE
WHERE
workflow_id = $1 AND
loop_location = $2
loop_location = $2 AND
forgotten = FALSE
RETURNING 1
),
forget_loop_events AS (
UPDATE db_workflow.workflow_loop_events
SET forgotten = TRUE
WHERE
workflow_id = $1 AND
loop_location = $2
loop_location = $2 AND
forgotten = FALSE
RETURNING 1
)
SELECT 1
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
CREATE INDEX idx_workflow_loop_events_loop_location2
ON workflow_loop_events (workflow_id, loop_location)
WHERE forgotten = FALSE;

CREATE INDEX idx_workflow_activity_events_loop_location2
ON workflow_activity_events (workflow_id, loop_location)
WHERE forgotten = FALSE;

CREATE INDEX idx_workflow_signal_events_loop_location2
ON workflow_signal_events (workflow_id, loop_location)
WHERE forgotten = FALSE;

CREATE INDEX idx_workflow_sub_workflow_events_loop_location2
ON workflow_sub_workflow_events (workflow_id, loop_location)
WHERE forgotten = FALSE;

CREATE INDEX idx_workflow_signal_send_events_loop_location2
ON workflow_signal_send_events (workflow_id, loop_location)
WHERE forgotten = FALSE;

CREATE INDEX idx_workflow_message_send_events_loop_location2
ON workflow_message_send_events (workflow_id, loop_location)
WHERE forgotten = FALSE;

DROP INDEX workflow_loop_events@idx_workflow_loop_events_loop_location;
DROP INDEX workflow_activity_events@idx_workflow_activity_events_loop_location;
DROP INDEX workflow_signal_events@idx_workflow_signal_events_loop_location;
DROP INDEX workflow_sub_workflow_events@idx_workflow_sub_workflow_events_loop_location;
DROP INDEX workflow_signal_send_events@idx_workflow_signal_send_events_loop_location;
DROP INDEX workflow_message_send_events@idx_workflow_message_send_events_loop_location;