diff --git a/src/test/regress/expected/rowsecurity.out b/src/test/regress/expected/rowsecurity.out index 2102eab457..8d925dc160 100644 --- a/src/test/regress/expected/rowsecurity.out +++ b/src/test/regress/expected/rowsecurity.out @@ -1680,42 +1680,42 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); (4 rows) PREPARE plancache_test AS SELECT * FROM z1 WHERE f_leak(b); -EXPLAIN EXECUTE plancache_test; - QUERY PLAN ---------------------------------------------------------------- - Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +------------------------------- + Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 0) (4 rows) PREPARE plancache_test2 AS WITH q AS (SELECT * FROM z1 WHERE f_leak(b)) SELECT * FROM q,z2; -EXPLAIN EXECUTE plancache_test2; - QUERY PLAN ------------------------------------------------------------------------ - Nested Loop (cost=29.11..86.78 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +--------------------------------------- + Nested Loop CTE q - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 0) - -> CTE Scan on q (cost=0.00..0.04 rows=2 width=36) - -> Materialize (cost=0.00..29.05 rows=1270 width=36) - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) + -> CTE Scan on q + -> Materialize + -> Seq Scan on z2 (9 rows) PREPARE plancache_test3 AS WITH q AS (SELECT * FROM z2) SELECT * FROM q,z1 WHERE f_leak(z1.b); -EXPLAIN EXECUTE plancache_test3; - QUERY PLAN ---------------------------------------------------------------------------- - Nested Loop (cost=22.70..108.97 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +------------------------------------------- + Nested Loop CTE q - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) - -> CTE Scan on q (cost=0.00..25.40 rows=1270 width=36) - -> Materialize (cost=0.00..29.12 rows=2 width=36) - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 0) (9 rows) @@ -1738,40 +1738,40 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 0) (4 rows) -EXPLAIN EXECUTE plancache_test; - QUERY PLAN ---------------------------------------------------------------- - Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +------------------------------- + Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 0) (4 rows) -EXPLAIN EXECUTE plancache_test2; - QUERY PLAN ------------------------------------------------------------------------ - Nested Loop (cost=29.11..86.78 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +--------------------------------------- + Nested Loop CTE q - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 0) - -> CTE Scan on q (cost=0.00..0.04 rows=2 width=36) - -> Materialize (cost=0.00..29.05 rows=1270 width=36) - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) + -> CTE Scan on q + -> Materialize + -> Seq Scan on z2 (9 rows) -EXPLAIN EXECUTE plancache_test3; - QUERY PLAN ---------------------------------------------------------------------------- - Nested Loop (cost=22.70..108.97 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +------------------------------------------- + Nested Loop CTE q - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) - -> CTE Scan on q (cost=0.00..25.40 rows=1270 width=36) - -> Materialize (cost=0.00..29.12 rows=2 width=36) - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 0) (9 rows) @@ -1794,40 +1794,40 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 1) (4 rows) -EXPLAIN EXECUTE plancache_test; - QUERY PLAN ---------------------------------------------------------------- - Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +------------------------------- + Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 1) (4 rows) -EXPLAIN EXECUTE plancache_test2; - QUERY PLAN ------------------------------------------------------------------------ - Nested Loop (cost=29.11..86.78 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +--------------------------------------- + Nested Loop CTE q - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 1) - -> CTE Scan on q (cost=0.00..0.04 rows=2 width=36) - -> Materialize (cost=0.00..29.05 rows=1270 width=36) - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) + -> CTE Scan on q + -> Materialize + -> Seq Scan on z2 (9 rows) -EXPLAIN EXECUTE plancache_test3; - QUERY PLAN ---------------------------------------------------------------------------- - Nested Loop (cost=22.70..108.97 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +------------------------------------------- + Nested Loop CTE q - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) - -> CTE Scan on q (cost=0.00..25.40 rows=1270 width=36) - -> Materialize (cost=0.00..29.12 rows=2 width=36) - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 1) (9 rows) @@ -1850,40 +1850,40 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 1) (4 rows) -EXPLAIN EXECUTE plancache_test; - QUERY PLAN ---------------------------------------------------------------- - Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +------------------------------- + Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 1) (4 rows) -EXPLAIN EXECUTE plancache_test2; - QUERY PLAN ------------------------------------------------------------------------ - Nested Loop (cost=29.11..86.78 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +--------------------------------------- + Nested Loop CTE q - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 1) - -> CTE Scan on q (cost=0.00..0.04 rows=2 width=36) - -> Materialize (cost=0.00..29.05 rows=1270 width=36) - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) + -> CTE Scan on q + -> Materialize + -> Seq Scan on z2 (9 rows) -EXPLAIN EXECUTE plancache_test3; - QUERY PLAN ---------------------------------------------------------------------------- - Nested Loop (cost=22.70..108.97 rows=2540 width=72) +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +------------------------------------------- + Nested Loop CTE q - -> Seq Scan on z2 (cost=0.00..22.70 rows=1270 width=36) - -> CTE Scan on q (cost=0.00..25.40 rows=1270 width=36) - -> Materialize (cost=0.00..29.12 rows=2 width=36) - -> Subquery Scan on z1 (cost=0.00..29.11 rows=2 width=36) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Subquery Scan on z1 Filter: f_leak(z1.b) - -> Seq Scan on z1 z1_1 (cost=0.00..29.05 rows=6 width=36) + -> Seq Scan on z1 z1_1 Filter: ((a % 2) = 1) (9 rows) diff --git a/src/test/regress/sql/rowsecurity.sql b/src/test/regress/sql/rowsecurity.sql index 34c551da82..decde90730 100644 --- a/src/test/regress/sql/rowsecurity.sql +++ b/src/test/regress/sql/rowsecurity.sql @@ -650,37 +650,37 @@ SELECT * FROM z1 WHERE f_leak(b); EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); PREPARE plancache_test AS SELECT * FROM z1 WHERE f_leak(b); -EXPLAIN EXECUTE plancache_test; +EXPLAIN (COSTS OFF) EXECUTE plancache_test; PREPARE plancache_test2 AS WITH q AS (SELECT * FROM z1 WHERE f_leak(b)) SELECT * FROM q,z2; -EXPLAIN EXECUTE plancache_test2; +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; PREPARE plancache_test3 AS WITH q AS (SELECT * FROM z2) SELECT * FROM q,z1 WHERE f_leak(z1.b); -EXPLAIN EXECUTE plancache_test3; +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; SET ROLE rls_regress_group1; SELECT * FROM z1 WHERE f_leak(b); EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); -EXPLAIN EXECUTE plancache_test; -EXPLAIN EXECUTE plancache_test2; -EXPLAIN EXECUTE plancache_test3; +EXPLAIN (COSTS OFF) EXECUTE plancache_test; +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; SET SESSION AUTHORIZATION rls_regress_user2; SELECT * FROM z1 WHERE f_leak(b); EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); -EXPLAIN EXECUTE plancache_test; -EXPLAIN EXECUTE plancache_test2; -EXPLAIN EXECUTE plancache_test3; +EXPLAIN (COSTS OFF) EXECUTE plancache_test; +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; SET ROLE rls_regress_group2; SELECT * FROM z1 WHERE f_leak(b); EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); -EXPLAIN EXECUTE plancache_test; -EXPLAIN EXECUTE plancache_test2; -EXPLAIN EXECUTE plancache_test3; +EXPLAIN (COSTS OFF) EXECUTE plancache_test; +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; -- -- Views should follow policy for view owner.