diff --git a/src/test/regress/expected/rowsecurity.out b/src/test/regress/expected/rowsecurity.out
new file mode 100644
index 35541ce..14495ef
*** a/src/test/regress/expected/rowsecurity.out
--- b/src/test/regress/expected/rowsecurity.out
*************** EXPLAIN (COSTS OFF) SELECT a, b, oid FRO
*** 664,670 ****
  RESET SESSION AUTHORIZATION;
  SET row_security TO OFF;
  SELECT * FROM t1 WHERE f_leak(b);
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
--- 664,670 ----
  RESET SESSION AUTHORIZATION;
  SET row_security TO OFF;
  SELECT * FROM t1 WHERE f_leak(b);
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
*************** NOTICE:  f_leak => yyy
*** 677,683 ****
  NOTICE:  f_leak => zzz
   a |  b  
  ---+-----
!  1 | aaa
   2 | bbb
   3 | ccc
   4 | ddd
--- 677,683 ----
  NOTICE:  f_leak => zzz
   a |  b  
  ---+-----
!  1 | aba
   2 | bbb
   3 | ccc
   4 | ddd
*************** EXPLAIN (COSTS OFF) SELECT * FROM t1 WHE
*** 706,712 ****
  SET SESSION AUTHORIZATION regress_rls_exempt_user;
  SET row_security TO OFF;
  SELECT * FROM t1 WHERE f_leak(b);
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
--- 706,712 ----
  SET SESSION AUTHORIZATION regress_rls_exempt_user;
  SET row_security TO OFF;
  SELECT * FROM t1 WHERE f_leak(b);
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
*************** NOTICE:  f_leak => yyy
*** 719,725 ****
  NOTICE:  f_leak => zzz
   a |  b  
  ---+-----
!  1 | aaa
   2 | bbb
   3 | ccc
   4 | ddd
--- 719,725 ----
  NOTICE:  f_leak => zzz
   a |  b  
  ---+-----
!  1 | aba
   2 | bbb
   3 | ccc
   4 | ddd
*************** EXPLAIN (COSTS OFF) EXECUTE p1(2);
*** 952,958 ****
  RESET SESSION AUTHORIZATION;
  SET row_security TO OFF;
  SELECT * FROM t1 WHERE f_leak(b);
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
--- 952,958 ----
  RESET SESSION AUTHORIZATION;
  SET row_security TO OFF;
  SELECT * FROM t1 WHERE f_leak(b);
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
*************** NOTICE:  f_leak => yyy
*** 965,971 ****
  NOTICE:  f_leak => zzz
   a |  b  
  ---+-----
!  1 | aaa
   2 | bbb
   3 | ccc
   4 | ddd
--- 965,971 ----
  NOTICE:  f_leak => zzz
   a |  b  
  ---+-----
!  1 | aba
   2 | bbb
   3 | ccc
   4 | ddd
*************** EXPLAIN (COSTS OFF) SELECT * FROM t1 WHE
*** 994,1000 ****
  EXECUTE p1(2);
   a |  b  
  ---+-----
!  1 | aaa
   2 | bbb
   1 | abc
   2 | bcd
--- 994,1000 ----
  EXECUTE p1(2);
   a |  b  
  ---+-----
!  1 | aba
   2 | bbb
   1 | abc
   2 | bcd
*************** SET row_security TO OFF;
*** 1345,1351 ****
  SELECT * FROM t1 ORDER BY a,b;
   a |      b      
  ---+-------------
!  1 | aaa
   1 | abc
   1 | xxx
   2 | bbbbbb_updt
--- 1345,1351 ----
  SELECT * FROM t1 ORDER BY a,b;
   a |      b      
  ---+-------------
!  1 | aba
   1 | abc
   1 | xxx
   2 | bbbbbb_updt
*************** CREATE TABLE z2 (a int, b text);
*** 1653,1659 ****
  GRANT SELECT ON z1,z2 TO regress_rls_group1, regress_rls_group2,
      regress_rls_bob, regress_rls_carol;
  INSERT INTO z1 VALUES
!     (1, 'aaa'),
      (2, 'bbb'),
      (3, 'ccc'),
      (4, 'ddd');
--- 1653,1659 ----
  GRANT SELECT ON z1,z2 TO regress_rls_group1, regress_rls_group2,
      regress_rls_bob, regress_rls_carol;
  INSERT INTO z1 VALUES
!     (1, 'aba'),
      (2, 'bbb'),
      (3, 'ccc'),
      (4, 'ddd');
*************** EXPLAIN (COSTS OFF) EXECUTE plancache_te
*** 1777,1787 ****
  
  SET SESSION AUTHORIZATION regress_rls_carol;
  SELECT * FROM z1 WHERE f_leak(b);
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => ccc
   a |  b  
  ---+-----
!  1 | aaa
   3 | ccc
  (2 rows)
  
--- 1777,1787 ----
  
  SET SESSION AUTHORIZATION regress_rls_carol;
  SELECT * FROM z1 WHERE f_leak(b);
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => ccc
   a |  b  
  ---+-----
!  1 | aba
   3 | ccc
  (2 rows)
  
*************** EXPLAIN (COSTS OFF) EXECUTE plancache_te
*** 1833,1843 ****
  
  SET ROLE regress_rls_group2;
  SELECT * FROM z1 WHERE f_leak(b);
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => ccc
   a |  b  
  ---+-----
!  1 | aaa
   3 | ccc
  (2 rows)
  
--- 1833,1843 ----
  
  SET ROLE regress_rls_group2;
  SELECT * FROM z1 WHERE f_leak(b);
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => ccc
   a |  b  
  ---+-----
!  1 | aba
   3 | ccc
  (2 rows)
  
*************** GRANT SELECT ON rls_view TO regress_rls_
*** 1897,1909 ****
  -- Query as role that is not owner of view or table.  Should return all records.
  SET SESSION AUTHORIZATION regress_rls_bob;
  SELECT * FROM rls_view;
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
   a |  b  
  ---+-----
!  1 | aaa
   2 | bbb
   3 | ccc
   4 | ddd
--- 1897,1909 ----
  -- Query as role that is not owner of view or table.  Should return all records.
  SET SESSION AUTHORIZATION regress_rls_bob;
  SELECT * FROM rls_view;
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
   a |  b  
  ---+-----
!  1 | aba
   2 | bbb
   3 | ccc
   4 | ddd
*************** EXPLAIN (COSTS OFF) SELECT * FROM rls_vi
*** 1919,1931 ****
  -- Query as view/table owner.  Should return all records.
  SET SESSION AUTHORIZATION regress_rls_alice;
  SELECT * FROM rls_view;
! NOTICE:  f_leak => aaa
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
   a |  b  
  ---+-----
!  1 | aaa
   2 | bbb
   3 | ccc
   4 | ddd
--- 1919,1931 ----
  -- Query as view/table owner.  Should return all records.
  SET SESSION AUTHORIZATION regress_rls_alice;
  SELECT * FROM rls_view;
! NOTICE:  f_leak => aba
  NOTICE:  f_leak => bbb
  NOTICE:  f_leak => ccc
  NOTICE:  f_leak => ddd
   a |  b  
  ---+-----
!  1 | aba
   2 | bbb
   3 | ccc
   4 | ddd
diff --git a/src/test/regress/sql/rowsecurity.sql b/src/test/regress/sql/rowsecurity.sql
new file mode 100644
index a142923..785ac84
*** a/src/test/regress/sql/rowsecurity.sql
--- b/src/test/regress/sql/rowsecurity.sql
*************** ALTER TABLE t1 DROP COLUMN junk1;    -- 
*** 200,206 ****
  GRANT ALL ON t1 TO public;
  
  COPY t1 FROM stdin WITH (oids);
! 101	1	aaa
  102	2	bbb
  103	3	ccc
  104	4	ddd
--- 200,206 ----
  GRANT ALL ON t1 TO public;
  
  COPY t1 FROM stdin WITH (oids);
! 101	1	aba
  102	2	bbb
  103	3	ccc
  104	4	ddd
*************** GRANT SELECT ON z1,z2 TO regress_rls_gro
*** 635,641 ****
      regress_rls_bob, regress_rls_carol;
  
  INSERT INTO z1 VALUES
!     (1, 'aaa'),
      (2, 'bbb'),
      (3, 'ccc'),
      (4, 'ddd');
--- 635,641 ----
      regress_rls_bob, regress_rls_carol;
  
  INSERT INTO z1 VALUES
!     (1, 'aba'),
      (2, 'bbb'),
      (3, 'ccc'),
      (4, 'ddd');
