This is an automated email from the ASF dual-hosted git repository.

chenjinbao1989 pushed a commit to branch cbdb-postgres-merge
in repository https://gitbox.apache.org/repos/asf/cloudberry.git


The following commit(s) were added to refs/heads/cbdb-postgres-merge by this 
push:
     new fb6073a1563 Fix some answer files
fb6073a1563 is described below

commit fb6073a1563cee83daaba669ce6638514903132b
Author: Jinbao Chen <[email protected]>
AuthorDate: Sat Nov 29 00:43:01 2025 +0800

    Fix some answer files
---
 src/test/regress/expected/rowsecurity.out | 170 ++++++++++++++++--------------
 src/test/regress/sql/rowsecurity.sql      |  11 +-
 2 files changed, 94 insertions(+), 87 deletions(-)

diff --git a/src/test/regress/expected/rowsecurity.out 
b/src/test/regress/expected/rowsecurity.out
index da7846c29c8..ec784f154bb 100644
--- a/src/test/regress/expected/rowsecurity.out
+++ b/src/test/regress/expected/rowsecurity.out
@@ -2380,7 +2380,6 @@ WHEN MATCHED THEN
        UPDATE SET dnotes = dnotes || ' notes added by merge5 '
 WHEN NOT MATCHED THEN
        INSERT VALUES (12, 11, 1, 'regress_rls_bob', 'another novel');
-ERROR:  duplicate key value violates unique constraint "document_pkey"
 -- UPDATE action fails if new row is not visible
 MERGE INTO document d
 USING (SELECT 1 as sdid) s
@@ -2396,6 +2395,7 @@ ON did = s.sdid
 WHEN MATCHED THEN
        UPDATE SET dnotes = dnotes || ' notes added by merge7 ',
                           cid = (SELECT cid from category WHERE cname = 
'novel');
+ERROR:  new row violates row-level security policy for table "document"
 -- OK to insert a new row that is not visible
 MERGE INTO document d
 USING (SELECT 13 as sdid) s
@@ -2410,24 +2410,25 @@ RESET SESSION AUTHORIZATION;
 DROP POLICY p1 ON document;
 -- Just check everything went per plan
 SELECT * FROM document;
- did | cid | dlevel |      dauthor      |              dtitle              |   
                                         dnotes                                 
           
------+-----+--------+-------------------+----------------------------------+----------------------------------------------------------------------------------------------
-   3 |  22 |      2 | regress_rls_bob   | my science fiction               | 
+ did | cid | dlevel |      dauthor      |              dtitle              |   
                             dnotes                                 
+-----+-----+--------+-------------------+----------------------------------+-----------------------------------------------------------------------
    5 |  44 |      2 | regress_rls_bob   | my second manga                  | 
    6 |  22 |      1 | regress_rls_carol | great science fiction            | 
-   7 |  33 |      2 | regress_rls_carol | great technology book            | 
-   8 |  44 |      1 | regress_rls_carol | great manga                      | 
    9 |  22 |      1 | regress_rls_dave  | awesome science fiction          | 
   10 |  33 |      2 | regress_rls_dave  | awesome technology book          | 
   11 |  33 |      1 | regress_rls_carol | hoge                             | 
   33 |  22 |      1 | regress_rls_bob   | okay science fiction             | 
+  13 |  44 |      1 | regress_rls_bob   | new manga                        | 
+   3 |  22 |      2 | regress_rls_bob   | my science fiction               | 
+   7 |  33 |      2 | regress_rls_carol | great technology book            | 
+   8 |  44 |      1 | regress_rls_carol | great manga                      | 
    2 |  11 |      2 | regress_rls_bob   | my first novel                   | 
+  12 |  11 |      1 | regress_rls_bob   | another novel                    | 
   78 |  33 |      1 | regress_rls_bob   | some technology novel            | 
   79 |  33 |      1 | regress_rls_bob   | technology book, can only insert | 
   12 |  11 |      1 | regress_rls_bob   | another novel                    | 
-   1 |  11 |      1 | regress_rls_bob   | my first novel                   |  
notes added by merge2  notes added by merge3  notes added by merge4  notes 
added by merge7 
-  13 |  44 |      1 | regress_rls_bob   | new manga                        | 
-(15 rows)
+   1 |  11 |      1 | regress_rls_bob   | my first novel                   |  
notes added by merge2  notes added by merge3  notes added by merge4 
+(16 rows)
 
 --
 -- ROLE/GROUP
@@ -2833,13 +2834,16 @@ NOTICE:  f_leak => bbb
 (1 row)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-                              QUERY PLAN                              
-----------------------------------------------------------------------
- Seq Scan on z1
-   Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 0) AND f_leak(b))
-   SubPlan 1
-     ->  Seq Scan on z1_blacklist
-(4 rows)
+                                 QUERY PLAN                                 
+----------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 0) AND f_leak(b))
+         SubPlan 1
+           ->  Broadcast Motion 3:3  (slice2; segments: 3)
+                 ->  Seq Scan on z1_blacklist
+ Optimizer: Postgres query optimizer
+(7 rows)
 
 -- Query as role that is not the owner of the table or view with permissions.
 SET SESSION AUTHORIZATION regress_rls_carol;
@@ -2851,13 +2855,16 @@ NOTICE:  f_leak => bbb
 (1 row)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-                              QUERY PLAN                              
-----------------------------------------------------------------------
- Seq Scan on z1
-   Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 0) AND f_leak(b))
-   SubPlan 1
-     ->  Seq Scan on z1_blacklist
-(4 rows)
+                                 QUERY PLAN                                 
+----------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 0) AND f_leak(b))
+         SubPlan 1
+           ->  Broadcast Motion 3:3  (slice2; segments: 3)
+                 ->  Seq Scan on z1_blacklist
+ Optimizer: Postgres query optimizer
+(7 rows)
 
 SET SESSION AUTHORIZATION regress_rls_alice;
 REVOKE SELECT ON z1_blacklist FROM regress_rls_bob;
@@ -2888,11 +2895,13 @@ NOTICE:  f_leak => dad
 (4 rows)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-     QUERY PLAN      
----------------------
- Seq Scan on z1
-   Filter: f_leak(b)
-(2 rows)
+                QUERY PLAN                
+------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: f_leak(b)
+ Optimizer: Postgres query optimizer
+(4 rows)
 
 -- Queries as other users.
 -- Should return records based on current user's policies.
@@ -2907,11 +2916,13 @@ NOTICE:  f_leak => dad
 (2 rows)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-               QUERY PLAN                
------------------------------------------
- Seq Scan on z1
-   Filter: (((a % 2) = 0) AND f_leak(b))
-(2 rows)
+                  QUERY PLAN                   
+-----------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: (((a % 2) = 0) AND f_leak(b))
+ Optimizer: Postgres query optimizer
+(4 rows)
 
 SET SESSION AUTHORIZATION regress_rls_carol;
 SELECT * FROM rls_view;
@@ -2924,11 +2935,13 @@ NOTICE:  f_leak => ccc
 (2 rows)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-               QUERY PLAN                
------------------------------------------
- Seq Scan on z1
-   Filter: (((a % 2) = 1) AND f_leak(b))
-(2 rows)
+                  QUERY PLAN                   
+-----------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: (((a % 2) = 1) AND f_leak(b))
+ Optimizer: Postgres query optimizer
+(4 rows)
 
 -- View and table owners are different.
 SET SESSION AUTHORIZATION regress_rls_alice;
@@ -2954,11 +2967,13 @@ NOTICE:  f_leak => dad
 (4 rows)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-     QUERY PLAN      
----------------------
- Seq Scan on z1
-   Filter: f_leak(b)
-(2 rows)
+                QUERY PLAN                
+------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: f_leak(b)
+ Optimizer: Postgres query optimizer
+(4 rows)
 
 -- Queries as other users.
 -- Should return records based on current user's policies.
@@ -2973,11 +2988,13 @@ NOTICE:  f_leak => dad
 (2 rows)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-               QUERY PLAN                
------------------------------------------
- Seq Scan on z1
-   Filter: (((a % 2) = 0) AND f_leak(b))
-(2 rows)
+                  QUERY PLAN                   
+-----------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: (((a % 2) = 0) AND f_leak(b))
+ Optimizer: Postgres query optimizer
+(4 rows)
 
 SET SESSION AUTHORIZATION regress_rls_carol;
 SELECT * FROM rls_view;
@@ -2990,11 +3007,13 @@ NOTICE:  f_leak => ccc
 (2 rows)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-               QUERY PLAN                
------------------------------------------
- Seq Scan on z1
-   Filter: (((a % 2) = 1) AND f_leak(b))
-(2 rows)
+                  QUERY PLAN                   
+-----------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: (((a % 2) = 1) AND f_leak(b))
+ Optimizer: Postgres query optimizer
+(4 rows)
 
 -- Policy requiring access to another table.
 SET SESSION AUTHORIZATION regress_rls_alice;
@@ -3023,13 +3042,16 @@ NOTICE:  f_leak => bbb
 (1 row)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-                              QUERY PLAN                              
-----------------------------------------------------------------------
- Seq Scan on z1
-   Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 0) AND f_leak(b))
-   SubPlan 1
-     ->  Seq Scan on z1_blacklist
-(4 rows)
+                                 QUERY PLAN                                 
+----------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 0) AND f_leak(b))
+         SubPlan 1
+           ->  Broadcast Motion 3:3  (slice2; segments: 3)
+                 ->  Seq Scan on z1_blacklist
+ Optimizer: Postgres query optimizer
+(7 rows)
 
 -- Query as role that is not the owner of the table or view without 
permissions.
 SET SESSION AUTHORIZATION regress_rls_carol;
@@ -3049,13 +3071,16 @@ NOTICE:  f_leak => aba
 (1 row)
 
 EXPLAIN (COSTS OFF) SELECT * FROM rls_view;
-                              QUERY PLAN                              
-----------------------------------------------------------------------
- Seq Scan on z1
-   Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 1) AND f_leak(b))
-   SubPlan 1
-     ->  Seq Scan on z1_blacklist
-(4 rows)
+                                 QUERY PLAN                                 
+----------------------------------------------------------------------------
+ Gather Motion 3:1  (slice1; segments: 3)
+   ->  Seq Scan on z1
+         Filter: ((NOT (hashed SubPlan 1)) AND ((a % 2) = 1) AND f_leak(b))
+         SubPlan 1
+           ->  Broadcast Motion 3:3  (slice2; segments: 3)
+                 ->  Seq Scan on z1_blacklist
+ Optimizer: Postgres query optimizer
+(7 rows)
 
 SET SESSION AUTHORIZATION regress_rls_bob;
 DROP VIEW rls_view;
@@ -3216,12 +3241,8 @@ DROP VIEW rls_sbv;
 -- Expression structure
 --
 SET SESSION AUTHORIZATION regress_rls_alice;
-<<<<<<< HEAD
-INSERT INTO y2 (SELECT x, md5(x::text) FROM generate_series(0,20) x);
-ANALYZE y2;
-=======
 INSERT INTO y2 (SELECT x, public.fipshash(x::text) FROM generate_series(0,20) 
x);
->>>>>>> REL_16_9
+ANALYZE y2;
 CREATE POLICY p2 ON y2 USING (a % 3 = 0);
 CREATE POLICY p3 ON y2 USING (a % 4 = 0);
 SET SESSION AUTHORIZATION regress_rls_bob;
@@ -4675,10 +4696,6 @@ execute q;
 --------------+---
 (0 rows)
 
-<<<<<<< HEAD
-RESET ROLE;
-DROP FUNCTION rls_f();
-=======
 -- make sure RLS dependencies in CTEs are handled
 reset role;
 create or replace function rls_f() returns setof rls_t
@@ -4781,7 +4798,6 @@ execute v;
 RESET ROLE;
 DROP FUNCTION rls_f();
 DROP VIEW rls_v;
->>>>>>> REL_16_9
 DROP TABLE rls_t;
 --
 -- Clean up objects
diff --git a/src/test/regress/sql/rowsecurity.sql 
b/src/test/regress/sql/rowsecurity.sql
index 51b59a3d754..9f3db168808 100644
--- a/src/test/regress/sql/rowsecurity.sql
+++ b/src/test/regress/sql/rowsecurity.sql
@@ -1321,12 +1321,8 @@ DROP VIEW rls_sbv;
 -- Expression structure
 --
 SET SESSION AUTHORIZATION regress_rls_alice;
-<<<<<<< HEAD
-INSERT INTO y2 (SELECT x, md5(x::text) FROM generate_series(0,20) x);
-ANALYZE y2;
-=======
 INSERT INTO y2 (SELECT x, public.fipshash(x::text) FROM generate_series(0,20) 
x);
->>>>>>> REL_16_9
+ANALYZE y2;
 CREATE POLICY p2 ON y2 USING (a % 3 = 0);
 CREATE POLICY p3 ON y2 USING (a % 4 = 0);
 
@@ -2210,10 +2206,6 @@ execute q;
 set role regress_rls_bob;
 execute q;
 
-<<<<<<< HEAD
-RESET ROLE;
-DROP FUNCTION rls_f();
-=======
 -- make sure RLS dependencies in CTEs are handled
 reset role;
 create or replace function rls_f() returns setof rls_t
@@ -2274,7 +2266,6 @@ execute v;
 RESET ROLE;
 DROP FUNCTION rls_f();
 DROP VIEW rls_v;
->>>>>>> REL_16_9
 DROP TABLE rls_t;
 
 --


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to