Skip to content
Snippets Groups Projects

Support AS MATERIALIZED in PG12 [RUN AS-IF-FOSS]

Merged Adam Hegyi requested to merge 245323-arel-support-for-materialized-cte into master
All threads resolved!
Files
36
@@ -65,7 +65,7 @@ def recursive_traversal_ids(lock: false)
root_id = Integer(@root.id)
sql = <<~SQL
WITH RECURSIVE cte(id, traversal_ids, cycle) AS (
WITH RECURSIVE cte(id, traversal_ids, cycle) AS #{Gitlab::Database::AsWithMaterialized.materialized_if_supported} (
VALUES(#{root_id}, ARRAY[#{root_id}], false)
UNION ALL
SELECT n.id, cte.traversal_ids || n.id, n.id = ANY(cte.traversal_ids)
Loading