postgresql/src/test/regress/expected
Stephen Frost e89bd02f58 Perform RLS WITH CHECK before constraints, etc
The RLS capability is built on top of the WITH CHECK OPTION
system which was added for auto-updatable views, however, unlike
WCOs on views (which are mandated by the SQL spec to not fire until
after all other constraints and checks are done), it makes much more
sense for RLS checks to happen earlier than constraint and uniqueness
checks.

This patch reworks the structure which holds the WCOs a bit to be
explicitly either VIEW or RLS checks and the RLS-related checks are
done prior to the constraint and uniqueness checks.  This also allows
better error reporting as we are now reporting when a violation is due
to a WITH CHECK OPTION and when it's due to an RLS policy violation,
which was independently noted by Craig Ringer as being confusing.

The documentation is also updated to include a paragraph about when RLS
WITH CHECK handling is performed, as there have been a number of
questions regarding that and the documentation was previously silent on
the matter.

Author: Dean Rasheed, with some kabitzing and comment changes by me.
2015-04-24 20:34:26 -04:00
..
.gitignore Add a SECURITY LABEL command. 2010-09-27 20:55:27 -04:00
abstime.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
advisory_lock.out Add transaction-level advisory locks. 2011-02-18 14:05:12 +09:00
aggregates.out Show sort ordering options in EXPLAIN output. 2015-01-16 18:19:00 -05:00
alter_generic.out Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
alter_table.out Reduce lock levels of some trigger DDL and add FKs 2015-04-05 11:37:08 -04:00
arrays.out Change array_offset to return subscripts, not offsets 2015-03-30 16:13:21 -03:00
async.out Regression tests for LISTEN/NOTIFY/UNLISTEN/pg_notify. 2013-07-03 11:07:08 -04:00
bit.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
bitmapops.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
boolean.out Clean up references to SQL92 2013-04-20 11:04:41 -04:00
box.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
brin.out Tweak BRIN minmax operator class 2015-01-22 17:01:09 -03:00
btree_index.out Add test cases for indexam operations not currently covered. 2014-11-19 19:47:43 +02:00
case.out Clean up references to SQL92 2013-04-20 11:04:41 -04:00
char.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
char_1.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
char_2.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
circle.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
cluster.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
collate.linux.utf8.out Update collate.linux.utf8.out for ruleutils.c line-wrapping changes. 2013-05-08 22:47:33 -04:00
collate.out Show sort ordering options in EXPLAIN output. 2015-01-16 18:19:00 -05:00
combocid.out Avoid incrementing the CommandCounter when CommandCounterIncrement is called 2007-11-30 21:22:54 +00:00
comments.out Implement nested block comments in the backend and in psql. 2000-07-14 15:43:57 +00:00
conversion.out Support hex-string input and output for type BYTEA. 2009-08-04 16:08:37 +00:00
copy2.out Fix null-pointer-deref crash while doing COPY IN with check constraints. 2015-02-15 23:26:45 -05:00
copyselect.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
create_aggregate.out Allow polymorphic aggregates to have non-polymorphic state data types. 2014-04-23 19:17:41 -04:00
create_cast.out Make CREATE TYPE print warnings if a datatype's I/O functions are volatile. 2014-11-05 11:44:06 -05:00
create_function_3.out Move regression test listing of builtin leakproof functions to opr_sanity.sql. 2014-06-05 13:54:25 +02:00
create_index.out Add support for index-only scans in GiST. 2015-03-26 19:12:00 +02:00
create_misc.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
create_operator.out Allow named parameters to be specified using => in addition to := 2015-03-10 11:09:41 -04:00
create_table.out Fix lost persistence setting during REINDEX INDEX 2015-03-30 16:01:44 -03:00
create_table_like.out psql: conditionally display oids and replication identity 2014-04-15 13:28:54 -04:00
create_type.out Use the right type OID after creating a shell type 2015-04-22 16:23:02 -03:00
create_view.out Partial fix for dropped columns in functions returning composite. 2014-07-19 14:28:52 -04:00
date.out Add make_date() and make_time() functions. 2013-11-17 15:06:50 -05:00
delete.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
dependency.out Row-Level Security Policies (RLS) 2014-09-19 11:18:35 -04:00
domain.out Use the typcache to cache constraints for domain types. 2015-03-01 14:06:55 -05:00
drop_if_exists.out Make DROP IF EXISTS more consistently not fail 2014-01-23 14:40:29 -03:00
enum.out Shorten warning about hash creation 2014-10-18 10:36:09 -04:00
equivclass.out Be more careful about printing constants in ruleutils.c. 2015-03-30 14:59:49 -04:00
errors.out Allow empty target list in SELECT. 2013-12-14 20:23:26 -05:00
event_trigger.out pg_event_trigger_dropped_objects: add is_temp column 2015-04-06 11:40:55 -03:00
float4-exp-three-digits.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
float4.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
float8-exp-three-digits-win32.out Revert "Add some regression test cases for denormalized float8 input." 2012-02-04 15:52:09 -05:00
float8-small-is-zero.out Revert "Add some regression test cases for denormalized float8 input." 2012-02-04 15:52:09 -05:00
float8-small-is-zero_1.out Revert "Add some regression test cases for denormalized float8 input." 2012-02-04 15:52:09 -05:00
float8.out Revert "Add some regression test cases for denormalized float8 input." 2012-02-04 15:52:09 -05:00
foreign_data.out Allow foreign tables to participate in inheritance. 2015-03-22 13:53:21 -04:00
foreign_key.out ALTER TABLE ... ALTER CONSTRAINT for FKs 2013-06-29 00:27:30 +01:00
functional_deps.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
geometry.out Revive line type 2013-10-09 22:34:38 -04:00
geometry_1.out Update regression tests for line type patch 2013-10-10 19:59:15 -04:00
geometry_2.out Update regression tests for line type patch 2013-10-10 19:59:15 -04:00
gin.out Add test cases for indexam operations not currently covered. 2014-11-19 19:47:43 +02:00
gist.out Add support for index-only scans in GiST. 2015-03-26 19:12:00 +02:00
guc.out Change SET LOCAL/CONSTRAINTS/TRANSACTION and ABORT behavior 2013-11-25 19:19:40 -05:00
hash_index.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
horology.out Fix to_timestamp/to_date's handling of consecutive spaces in format string. 2014-01-20 13:45:51 -05:00
hs_standby_allowed.out regression test: fix hot standby tests by using repeatable read 2014-04-22 17:23:58 -04:00
hs_standby_check.out Allow read only connections during recovery, known as Hot Standby. 2009-12-19 01:32:45 +00:00
hs_standby_disallowed.out regression test: fix hot standby tests by using repeatable read 2014-04-22 17:23:58 -04:00
hs_standby_functions.out Update standbycheck test output with new ERROR message changes. No changes 2010-05-02 12:28:43 +00:00
indirect_toast.out Add support for multiple kinds of external toast datums. 2013-07-02 13:38:55 -04:00
inet.out Add index-only scan support to inet GiST opclass. 2015-03-28 15:11:53 +02:00
inherit.out psql: conditionally display oids and replication identity 2014-04-15 13:28:54 -04:00
insert.out When a row fails a not-null constraint, show row's contents in errdetail. 2011-11-29 18:29:18 -05:00
int2.out Upgrade src/port/rint.c to be POSIX-compliant. 2015-03-25 15:54:18 -04:00
int4.out Upgrade src/port/rint.c to be POSIX-compliant. 2015-03-25 15:54:18 -04:00
int8-exp-three-digits.out Upgrade src/port/rint.c to be POSIX-compliant. 2015-03-25 15:54:18 -04:00
int8.out Upgrade src/port/rint.c to be POSIX-compliant. 2015-03-25 15:54:18 -04:00
interval.out interval: tighten precision specification 2014-10-18 10:31:00 -04:00
join.out Fix incorrect matching of subexpressions in outer-join plan nodes. 2015-04-04 19:55:15 -04:00
json.out Render infinite date/timestamps as 'infinity' for json/jsonb 2015-02-26 12:25:21 -05:00
json_1.out Render infinite date/timestamps as 'infinity' for json/jsonb 2015-02-26 12:25:21 -05:00
jsonb.out Render infinite date/timestamps as 'infinity' for json/jsonb 2015-02-26 12:25:21 -05:00
jsonb_1.out Render infinite date/timestamps as 'infinity' for json/jsonb 2015-02-26 12:25:21 -05:00
limit.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
line.out Revert "Tweak "line" test to avoid negative zeros on some platforms" 2013-10-25 15:50:31 -04:00
lock.out Add a basic atomic ops API abstracting away platform/architecture details. 2014-09-25 23:49:05 +02:00
lseg.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
macaddr.out Allow input format xxxx-xxxx-xxxx for macaddr type 2014-10-21 16:16:39 -04:00
matview.out Add CINE option for CREATE TABLE AS and CREATE MATERIALIZED VIEW 2014-12-13 13:56:09 -05:00
money.out Add casts from int4 and int8 to numeric. 2011-04-05 09:35:43 -04:00
name.out Add a "USING" clause to DELETE, which is equivalent to the FROM clause 2005-04-07 01:51:41 +00:00
namespace.out Regression tests for SCHEMA commands 2013-12-11 20:45:15 +00:00
numeric.out to_char: revert cc0d90b73b 2015-03-22 22:56:56 -04:00
numeric_big.out Update numeric_big regress test for 7.0. This has apparently been 2000-03-30 07:13:20 +00:00
numerology.out Remove the special cases to prevent minus-zero results in float4 and float8 2009-02-18 19:23:26 +00:00
numerology_1.out Remove the special cases to prevent minus-zero results in float4 and float8 2009-02-18 19:23:26 +00:00
object_address.out Support opfamily members in get_object_address 2015-03-16 12:06:34 -03:00
oid.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
oidjoins.out Update oidjoins regression test for 9.4. 2014-04-16 14:28:59 -04:00
opr_sanity.out Split array_push into separate array_append and array_prepend functions. 2015-02-18 20:53:33 -05:00
path.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
pg_lsn.out Tweak new regression test case for better portability. 2014-06-04 21:31:41 -04:00
plancache.out Change plan caching to honor, not resist, changes in search_path. 2013-01-25 14:14:41 -05:00
plpgsql.out Add an ASSERT statement in plpgsql. 2015-03-25 19:05:32 -04:00
point.out Fix gist_box_same and gist_point_consistent to handle fuzziness correctly. 2013-02-08 18:03:17 -05:00
polygon.out regression tests: remove polygon diagrams 2015-03-19 22:10:52 -04:00
polymorphism.out Allow named parameters to be specified using => in addition to := 2015-03-10 11:09:41 -04:00
portals.out Fix failure to set ActiveSnapshot while rewinding a cursor. 2014-05-07 14:25:11 -04:00
portals_p2.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
prepare.out Improve psql's tabular display of wrapped-around data by inserting markers 2009-11-22 05:20:41 +00:00
prepared_xacts.out Remove unnecessary and unreliable test 2015-02-20 14:03:49 -03:00
prepared_xacts_1.out Remove unnecessary and unreliable test 2015-02-20 14:03:49 -03:00
privileges.out Remove rolcatupdate 2015-03-06 23:42:38 -05:00
psql.out psql: add asciidoc output format 2015-03-31 11:33:25 -04:00
random.out Improve random regression tests to fail less frequently. 2004-03-15 15:46:25 +00:00
rangefuncs.out Support flattening of empty-FROM subqueries and one-row VALUES tables. 2015-03-11 23:18:03 -04:00
rangetypes.out Add index-only scan support to range type GiST opclass. 2015-03-30 13:22:38 +03:00
regex.out Fix incorrect search for "x?" style matches in creviterdissect(). 2014-09-23 20:26:14 -04:00
regproc.out Add to_regprocedure() and to_regoperator(). 2014-04-16 12:21:43 -04:00
reltime.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
replica_identity.out Shorten warning about hash creation 2014-10-18 10:36:09 -04:00
returning.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
rolenames.out Allow CURRENT/SESSION_USER to be used in certain commands 2015-03-09 15:41:54 -03:00
rowsecurity.out Perform RLS WITH CHECK before constraints, etc 2015-04-24 20:34:26 -04:00
rowtypes.out Be more careful about printing constants in ruleutils.c. 2015-03-30 14:59:49 -04:00
rules.out Rename pg_replication_slot's new active_in to active_pid. 2015-04-22 09:43:40 +02:00
sanity_check.out Rename pg_rowsecurity -> pg_policy and other fixes 2014-11-27 01:15:57 -05:00
security_label.out Move security_label test 2014-12-01 16:12:43 -03:00
select.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
select_distinct.out Alter some gratuitous uses of "ANSI" when "SQL standard" might have been 2009-07-11 21:15:32 +00:00
select_distinct_on.out Fix assertion failure when a SELECT DISTINCT ON expression is volatile. 2009-09-12 00:04:59 +00:00
select_having.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
select_having_1.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
select_having_2.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
select_implicit.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
select_implicit_1.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
select_implicit_2.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
select_into.out Restructure SELECT INTO's parsetree representation into CreateTableAsStmt. 2012-03-19 21:38:12 -04:00
select_views.out Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
select_views_1.out Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
sequence.out Add tests for sequence privileges 2014-10-22 21:39:07 -04:00
sequence_1.out Add tests for sequence privileges 2014-10-22 21:39:07 -04:00
spgist.out Add test cases for indexam operations not currently covered. 2014-11-19 19:47:43 +02:00
stats.out Have TRUNCATE update pgstat tuple counters 2015-02-20 12:10:01 -03:00
strings.out Fix regexp_matches() handling of zero-length matches. 2013-07-31 11:31:22 -04:00
subselect.out Allow simplification of EXISTS() subqueries containing LIMIT. 2014-11-22 19:12:38 -05:00
temp.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
text.out Move checking an explicit VARIADIC "any" argument into the parser. 2013-07-18 11:52:12 -04:00
time.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
timestamp.out Constructors for interval, timestamp, timestamptz 2014-03-04 15:09:43 -03:00
timestamptz.out Don't require bleeding-edge timezone data in timestamptz regression test. 2014-11-18 21:36:39 -05:00
timetz.out Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
tinterval.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
transactions.out In RelationClearRelation, postpone cache reload if !IsTransactionState(). 2014-02-06 19:38:06 -05:00
triggers.out Fix ruleutils pretty-printing to not generate trailing whitespace. 2013-11-11 13:36:38 -05:00
truncate.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
tsdicts.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
tsearch.out Fix ts_rank_cd() to ignore stripped lexemes 2014-03-24 14:37:16 -04:00
tstypes.out Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
txid.out Handle duplicate XIDs in txid_snapshot. 2014-05-15 18:29:20 +03:00
type_sanity.out In type_sanity, check I/O functions of built-in types are not volatile. 2014-10-23 15:59:40 -04:00
typed_table.out Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
union.out Be more careful about printing constants in ruleutils.c. 2015-03-30 14:59:49 -04:00
updatable_views.out Fix misspellings 2015-04-24 12:00:49 -04:00
update.out Implement UPDATE tab SET (col1,col2,...) = (SELECT ...), ... 2014-06-18 13:22:34 -04:00
uuid.out Shorten warning about hash creation 2014-10-18 10:36:09 -04:00
vacuum.out Avoid unexpected slowdown in vacuum regression test. 2015-01-12 15:13:53 -05:00
varchar.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
varchar_1.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
varchar_2.out Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
window.out to_char: revert cc0d90b73b 2015-03-22 22:56:56 -04:00
with.out Be more careful about printing constants in ruleutils.c. 2015-03-30 14:59:49 -04:00
without_oid.out Combine cmin and cmax fields of HeapTupleHeaders into a single field, by 2007-02-09 03:35:35 +00:00
xml.out Fix namespace handling in xpath function 2015-01-06 23:06:13 -05:00
xml_1.out Fix namespace handling in xpath function 2015-01-06 23:06:13 -05:00
xmlmap.out Add regression tests for XML mapping of domains 2013-03-13 22:42:57 -04:00
xmlmap_1.out Add regression tests for XML mapping of domains 2013-03-13 22:42:57 -04:00