]> granicus.if.org Git - postgresql/commit
WITH CHECK OPTION support for auto-updatable VIEWs
authorStephen Frost <sfrost@snowman.net>
Thu, 18 Jul 2013 21:10:16 +0000 (17:10 -0400)
committerStephen Frost <sfrost@snowman.net>
Thu, 18 Jul 2013 21:10:16 +0000 (17:10 -0400)
commit4cbe3ac3e86790d05c569de4585e5075a62a9b41
tree8adc929520d4103b4493c0c23bcb7d2b2c2a5a4d
parent6f9e39bc9993c18686f0950f9b9657c7c97c7450
WITH CHECK OPTION support for auto-updatable VIEWs

For simple views which are automatically updatable, this patch allows
the user to specify what level of checking should be done on records
being inserted or updated.  For 'LOCAL CHECK', new tuples are validated
against the conditionals of the view they are being inserted into, while
for 'CASCADED CHECK' the new tuples are validated against the
conditionals for all views involved (from the top down).

This option is part of the SQL specification.

Dean Rasheed, reviewed by Pavel Stehule
33 files changed:
doc/src/sgml/ref/alter_view.sgml
doc/src/sgml/ref/create_view.sgml
src/backend/access/common/reloptions.c
src/backend/catalog/information_schema.sql
src/backend/catalog/sql_features.txt
src/backend/commands/tablecmds.c
src/backend/commands/view.c
src/backend/executor/execMain.c
src/backend/executor/nodeModifyTable.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/nodeFuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planner.c
src/backend/parser/gram.y
src/backend/rewrite/rewriteHandler.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/include/catalog/catversion.h
src/include/commands/view.h
src/include/executor/executor.h
src/include/nodes/execnodes.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/nodes/plannodes.h
src/include/optimizer/planmain.h
src/include/rewrite/rewriteHandler.h
src/include/utils/rel.h
src/test/regress/expected/create_view.out
src/test/regress/expected/updatable_views.out
src/test/regress/sql/updatable_views.sql