mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-15 04:18:01 +00:00
41 lines
1.8 KiB
MySQL
41 lines
1.8 KiB
MySQL
|
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
|
||
|
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)
|
||
|
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
|
||
|
ON e.instance_id = t.instance_id
|
||
|
AND e.target_id = t.id
|
||
|
WHERE "include" = ''
|
||
|
ORDER BY position DESC;
|