diff --git a/contrib/pg_overexplain/expected/pg_overexplain.out b/contrib/pg_overexplain/expected/pg_overexplain.out index 12ab92629ab..f331c236ae4 100644 --- a/contrib/pg_overexplain/expected/pg_overexplain.out +++ b/contrib/pg_overexplain/expected/pg_overexplain.out @@ -419,6 +419,102 @@ $$); ] (1 row) +-- Test YAML format with RANGE_TABLE to verify valid YAML structure. +SELECT explain_filter($$ +EXPLAIN (RANGE_TABLE, FORMAT YAML, COSTS OFF) +SELECT genus, array_agg(name ORDER BY name) FROM vegetables GROUP BY genus +$$); + explain_filter +----------------------------------------------- + - Plan: + + Node Type: "Aggregate" + + Strategy: "Sorted" + + Partial Mode: "Simple" + + Parallel Aware: false + + Async Capable: false + + Disabled: false + + Group Key: + + - "vegetables.genus" + + Plans: + + - Node Type: "Sort" + + Parent Relationship: "Outer" + + Parallel Aware: false + + Async Capable: false + + Disabled: false + + Sort Key: + + - "vegetables.genus" + + - "vegetables.name" + + Plans: + + - Node Type: "Append" + + Parent Relationship: "Outer" + + Parallel Aware: false + + Async Capable: false + + Disabled: false + + Append RTIs: "1" + + Child Append RTIs: "none" + + Subplans Removed: 0 + + Plans: + + - Node Type: "Seq Scan" + + Parent Relationship: "Member"+ + Parallel Aware: false + + Async Capable: false + + Relation Name: "brassica" + + Alias: "vegetables_1" + + Disabled: false + + Scan RTI: 3 + + - Node Type: "Seq Scan" + + Parent Relationship: "Member"+ + Parallel Aware: false + + Async Capable: false + + Relation Name: "daucus" + + Alias: "vegetables_2" + + Disabled: false + + Scan RTI: 4 + + Range Table: + + - RTI: 1 + + Kind: "relation" + + Inherited: true + + In From Clause: true + + Eref: "vegetables (id, name, genus)" + + Relation: "vegetables" + + Relation Kind: "partitioned_table" + + Relation Lock Mode: "AccessShareLock" + + Permission Info Index: 1 + + Security Barrier: false + + Lateral: false + + - RTI: 2 + + Kind: "group" + + Inherited: false + + In From Clause: false + + Eref: "\"*GROUP*\" (genus)" + + Security Barrier: false + + Lateral: false + + - RTI: 3 + + Kind: "relation" + + Inherited: false + + In From Clause: true + + Alias: "vegetables (id, name, genus)" + + Eref: "vegetables (id, name, genus)" + + Relation: "brassica" + + Relation Kind: "relation" + + Relation Lock Mode: "AccessShareLock" + + Security Barrier: false + + Lateral: false + + - RTI: 4 + + Kind: "relation" + + Inherited: false + + In From Clause: true + + Alias: "vegetables (id, name, genus)" + + Eref: "vegetables (id, name, genus)" + + Relation: "daucus" + + Relation Kind: "relation" + + Relation Lock Mode: "AccessShareLock" + + Security Barrier: false + + Lateral: false + + Unprunable RTIs: "1 3 4" + + Result RTIs: "none" +(1 row) + -- Test just the DEBUG option. Verify that it shows information about -- disabled nodes, parallel safety, and the parallelModeNeeded flag. SET enable_seqscan = false; diff --git a/contrib/pg_overexplain/sql/pg_overexplain.sql b/contrib/pg_overexplain/sql/pg_overexplain.sql index 3f17b61a2da..8cb6f2718fb 100644 --- a/contrib/pg_overexplain/sql/pg_overexplain.sql +++ b/contrib/pg_overexplain/sql/pg_overexplain.sql @@ -72,6 +72,12 @@ EXPLAIN (RANGE_TABLE, FORMAT JSON, COSTS OFF) SELECT genus, array_agg(name ORDER BY name) FROM vegetables GROUP BY genus $$); +-- Test YAML format with RANGE_TABLE to verify valid YAML structure. +SELECT explain_filter($$ +EXPLAIN (RANGE_TABLE, FORMAT YAML, COSTS OFF) +SELECT genus, array_agg(name ORDER BY name) FROM vegetables GROUP BY genus +$$); + -- Test just the DEBUG option. Verify that it shows information about -- disabled nodes, parallel safety, and the parallelModeNeeded flag. SET enable_seqscan = false;