Core support for "extensions", which are packages of SQL objects.
commitd9572c4e3b474031060189050e14ef384b94e001
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 8 Feb 2011 21:08:41 +0000 (8 16:08 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 8 Feb 2011 21:13:22 +0000 (8 16:13 -0500)
tree07646762f4086b94a69b9fc215734d2bccade5db
parent414c5a2ea65cbd38d79ffdf9b1fde7cc75c134e0
Core support for "extensions", which are packages of SQL objects.

This patch adds the server infrastructure to support extensions.
There is still one significant loose end, namely how to make it play nice
with pg_upgrade, so I am not yet committing the changes that would make
all the contrib modules depend on this feature.

In passing, fix a disturbingly large amount of breakage in
AlterObjectNamespace() and callers.

Dimitri Fontaine, reviewed by Anssi Kääriäinen,
Itagaki Takahiro, Tom Lane, and numerous others
69 files changed:
doc/src/sgml/acronyms.sgml
doc/src/sgml/catalogs.sgml
doc/src/sgml/extend.sgml
doc/src/sgml/ref/allfiles.sgml
doc/src/sgml/ref/alter_extension.sgml [new file with mode: 0644]
doc/src/sgml/ref/comment.sgml
doc/src/sgml/ref/create_extension.sgml [new file with mode: 0644]
doc/src/sgml/ref/drop_extension.sgml [new file with mode: 0644]
doc/src/sgml/ref/psql-ref.sgml
doc/src/sgml/reference.sgml
doc/src/sgml/release-9.0.sgml
doc/src/sgml/xfunc.sgml
src/backend/catalog/Makefile
src/backend/catalog/dependency.c
src/backend/catalog/heap.c
src/backend/catalog/objectaddress.c
src/backend/catalog/pg_conversion.c
src/backend/catalog/pg_depend.c
src/backend/catalog/pg_namespace.c
src/backend/catalog/pg_operator.c
src/backend/catalog/pg_proc.c
src/backend/catalog/pg_type.c
src/backend/catalog/system_views.sql
src/backend/commands/Makefile
src/backend/commands/alter.c
src/backend/commands/cluster.c
src/backend/commands/comment.c
src/backend/commands/conversioncmds.c
src/backend/commands/extension.c [new file with mode: 0644]
src/backend/commands/foreigncmds.c
src/backend/commands/functioncmds.c
src/backend/commands/opclasscmds.c
src/backend/commands/operatorcmds.c
src/backend/commands/proclang.c
src/backend/commands/tablecmds.c
src/backend/commands/tsearchcmds.c
src/backend/commands/typecmds.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/parser/gram.y
src/backend/rewrite/rewriteDefine.c
src/backend/tcop/utility.c
src/backend/utils/adt/genfile.c
src/bin/pg_dump/common.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/bin/pg_dump/pg_dump_sort.c
src/bin/psql/command.c
src/bin/psql/describe.c
src/bin/psql/describe.h
src/bin/psql/help.c
src/bin/psql/tab-complete.c
src/include/catalog/catversion.h
src/include/catalog/dependency.h
src/include/catalog/indexing.h
src/include/catalog/pg_extension.h [new file with mode: 0644]
src/include/catalog/pg_proc.h
src/include/commands/alter.h
src/include/commands/conversioncmds.h
src/include/commands/defrem.h
src/include/commands/extension.h [new file with mode: 0644]
src/include/commands/typecmds.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/parser/kwlist.h
src/include/utils/builtins.h
src/makefiles/pgxs.mk
src/test/regress/expected/rules.out
src/test/regress/expected/sanity_check.out