From 5cfccb1442a462d874cfcfb59042f18eab99c906 Mon Sep 17 00:00:00 2001 From: Silvan Date: Fri, 24 May 2024 16:13:36 +0200 Subject: [PATCH] fix(actions): correct statements to query targets (#8006) # Which Problems Are Solved Curretly loading targets fails on cockraochdb because the order of `with`-statements is wrong. # How the Problems Are Solved Changed the order of queries in the statements. --- internal/query/targets_by_execution_id.sql | 30 ++++++++-------- internal/query/targets_by_execution_ids.sql | 38 ++++++++++----------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/internal/query/targets_by_execution_id.sql b/internal/query/targets_by_execution_id.sql index 6b564104e5..f8248479b0 100644 --- a/internal/query/targets_by_execution_id.sql +++ b/internal/query/targets_by_execution_id.sql @@ -1,4 +1,18 @@ WITH RECURSIVE + matched AS (SELECT * + FROM projections.executions1 + WHERE instance_id = $1 + AND id = ANY($2) + ORDER BY id DESC + LIMIT 1), + matched_targets_and_includes AS (SELECT pos.* + FROM matched m + JOIN + projections.executions1_targets pos + ON m.id = pos.execution_id + AND m.instance_id = pos.instance_id + ORDER BY execution_id, + position), dissolved_execution_targets(execution_id, instance_id, position, "include", "target_id") AS (SELECT execution_id , instance_id @@ -16,21 +30,7 @@ WITH RECURSIVE JOIN projections.executions1_targets p ON e.instance_id = p.instance_id AND e.include IS NOT NULL - AND e.include = p.execution_id), - matched AS (SELECT * - FROM projections.executions1 - WHERE instance_id = $1 - AND id = ANY($2) - ORDER BY id DESC - LIMIT 1), - matched_targets_and_includes AS (SELECT pos.* - FROM matched m - JOIN - projections.executions1_targets pos - ON m.id = pos.execution_id - AND m.instance_id = pos.instance_id - ORDER BY execution_id, - position) + AND e.include = p.execution_id) select e.execution_id, e.instance_id, e.target_id, t.target_type, t.endpoint, t.timeout, t.interrupt_on_error FROM dissolved_execution_targets e JOIN projections.targets1 t diff --git a/internal/query/targets_by_execution_ids.sql b/internal/query/targets_by_execution_ids.sql index c1361d9320..749d9387b2 100644 --- a/internal/query/targets_by_execution_ids.sql +++ b/internal/query/targets_by_execution_ids.sql @@ -1,22 +1,4 @@ WITH RECURSIVE - dissolved_execution_targets(execution_id, instance_id, position, "include", "target_id") - AS (SELECT execution_id - , instance_id - , ARRAY [position] - , "include" - , "target_id" - FROM matched_targets_and_includes - UNION ALL - SELECT e.execution_id - , p.instance_id - , e.position || p.position - , p."include" - , p."target_id" - FROM dissolved_execution_targets e - JOIN projections.executions1_targets p - ON e.instance_id = p.instance_id - AND e.include IS NOT NULL - AND e.include = p.execution_id), matched AS ((SELECT * FROM projections.executions1 WHERE instance_id = $1 @@ -37,7 +19,25 @@ WITH RECURSIVE ON m.id = pos.execution_id AND m.instance_id = pos.instance_id ORDER BY execution_id, - position) + position), + dissolved_execution_targets(execution_id, instance_id, position, "include", "target_id") + AS (SELECT execution_id + , instance_id + , ARRAY [position] + , "include" + , "target_id" + FROM matched_targets_and_includes + UNION ALL + SELECT e.execution_id + , p.instance_id + , e.position || p.position + , p."include" + , p."target_id" + FROM dissolved_execution_targets e + JOIN projections.executions1_targets p + ON e.instance_id = p.instance_id + AND e.include IS NOT NULL + AND e.include = p.execution_id) select e.execution_id, e.instance_id, e.target_id, t.target_type, t.endpoint, t.timeout, t.interrupt_on_error FROM dissolved_execution_targets e JOIN projections.targets1 t