diff options
| author | Pavan Deolasee | 2016-01-25 12:11:55 +0000 |
|---|---|---|
| committer | Pavan Deolasee | 2016-10-18 09:47:48 +0000 |
| commit | d238a9a2992900bb2f0e63807390d5abae0d6b3d (patch) | |
| tree | e1269cc2ec3c62bcbdd7b2a22e4b4c3011216bf4 | |
| parent | 3b529f0795567fd51575cab858723c3fa4d1c505 (diff) | |
Change some part of expected output file for test case rowsecurity, related to
XL plan changes.
| -rw-r--r-- | src/test/regress/expected/rowsecurity.out | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/src/test/regress/expected/rowsecurity.out b/src/test/regress/expected/rowsecurity.out index 85dc5c3e0a..b635a8ad7c 100644 --- a/src/test/regress/expected/rowsecurity.out +++ b/src/test/regress/expected/rowsecurity.out @@ -645,6 +645,28 @@ EXPLAIN (COSTS OFF) SELECT * FROM t1 WHERE f_leak(b) FOR SHARE; Filter: ((a % 2) = 0) (15 rows) +-- union all query +SELECT a, b, oid FROM t2 UNION ALL SELECT a, b, oid FROM t3; + a | b | oid +---+-----+----- + 1 | abc | 201 + 3 | cde | 203 + 1 | xxx | 301 + 2 | yyy | 302 + 3 | zzz | 303 +(5 rows) + +EXPLAIN (COSTS OFF) SELECT a, b, oid FROM t2 UNION ALL SELECT a, b, oid FROM t3; + QUERY PLAN +----------------------------------------------------------- + Append + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on t2 + Filter: ((a % 2) = 1) + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on t3 +(6 rows) + -- superuser is allowed to bypass RLS checks RESET SESSION AUTHORIZATION; SET row_security TO OFF; @@ -1486,6 +1508,51 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 0) (5 rows) +PREPARE plancache_test AS SELECT * FROM z1 WHERE f_leak(b); +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +----------------------------------------------------- + Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 0) +(5 rows) + +PREPARE plancache_test2 AS WITH q AS (SELECT * FROM z1 WHERE f_leak(b)) SELECT * FROM q,z2; +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 0) + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 +(11 rows) + +PREPARE plancache_test3 AS WITH q AS (SELECT * FROM z2) SELECT * FROM q,z1 WHERE f_leak(z1.b); +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 0) +(11 rows) + SET ROLE rls_regress_group1; SELECT * FROM z1 WHERE f_leak(b); a | b @@ -1504,6 +1571,48 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 0) (5 rows) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +----------------------------------------------------- + Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 0) +(5 rows) + +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 0) + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 +(11 rows) + +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 0) +(11 rows) + SET SESSION AUTHORIZATION rls_regress_user2; SELECT * FROM z1 WHERE f_leak(b); a | b @@ -1522,6 +1631,48 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 1) (5 rows) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +----------------------------------------------------- + Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 1) +(5 rows) + +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 1) + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 +(11 rows) + +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 1) +(11 rows) + SET ROLE rls_regress_group2; SELECT * FROM z1 WHERE f_leak(b); a | b @@ -1540,6 +1691,48 @@ EXPLAIN (COSTS OFF) SELECT * FROM z1 WHERE f_leak(b); Filter: ((a % 2) = 1) (5 rows) +EXPLAIN (COSTS OFF) EXECUTE plancache_test; + QUERY PLAN +----------------------------------------------------- + Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 1) +(5 rows) + +EXPLAIN (COSTS OFF) EXECUTE plancache_test2; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 1) + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 +(11 rows) + +EXPLAIN (COSTS OFF) EXECUTE plancache_test3; + QUERY PLAN +----------------------------------------------------------------- + Nested Loop + CTE q + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Seq Scan on z2 + -> CTE Scan on q + -> Materialize + -> Remote Subquery Scan on all (datanode_1,datanode_2) + -> Subquery Scan on z1 + Filter: f_leak(z1.b) + -> Seq Scan on z1 z1_1 + Filter: ((a % 2) = 1) +(11 rows) + -- -- Views should follow policy for view owner. -- |
