Support ALTER THING .. DEPENDS ON EXTENSION
authorAlvaro Herrera <[email protected]>
Tue, 5 Apr 2016 21:38:54 +0000 (18:38 -0300)
committerAlvaro Herrera <[email protected]>
Tue, 5 Apr 2016 21:38:54 +0000 (18:38 -0300)
commitf2fcad27d59c8e5c48f8fa0a96c8355e40f24273
tree8630b838513cbd3e2d846a68bf9db6a5f2f9c7b1
parent41ea0c23761ca108e2f08f6e3151e3cb1f9652a1
Support ALTER THING .. DEPENDS ON EXTENSION

This introduces a new dependency type which marks an object as depending
on an extension, such that if the extension is dropped, the object
automatically goes away; and also, if the database is dumped, the object
is included in the dump output.  Currently the grammar supports this for
indexes, triggers, materialized views and functions only, although the
utility code is generic so adding support for more object types is a
matter of touching the parser rules only.

Author: Abhijit Menon-Sen
Reviewed-by: Alexander Korotkov, Álvaro Herrera
Discussion: http://www.postgresql.org/message-id/20160115062649[email protected]
23 files changed:
doc/src/sgml/catalogs.sgml
doc/src/sgml/ref/alter_function.sgml
doc/src/sgml/ref/alter_index.sgml
doc/src/sgml/ref/alter_materialized_view.sgml
doc/src/sgml/ref/alter_trigger.sgml
src/backend/catalog/dependency.c
src/backend/catalog/objectaddress.c
src/backend/commands/alter.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/parser/gram.y
src/backend/tcop/utility.c
src/include/catalog/catversion.h
src/include/catalog/dependency.h
src/include/catalog/objectaddress.h
src/include/commands/alter.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/parser/kwlist.h
src/test/modules/test_extensions/Makefile
src/test/modules/test_extensions/expected/test_extdepend.out [new file with mode: 0644]
src/test/modules/test_extensions/sql/test_extdepend.sql [new file with mode: 0644]
src/tools/pgindent/typedefs.list