Basic foreign table support.

Robert Haas <rhaas@postgresql.org>

Commit: 0d692a0dc9f0e532c67c577187fe5d7d323cb95b
Author: Robert Haas <rhaas@postgresql.org>
Date: 2011-01-02T04:48:11Z
Releases: 9.1.0
Basic foreign table support.

Foreign tables are a core component of SQL/MED.  This commit does
not provide a working SQL/MED infrastructure, because foreign tables
cannot yet be queried.  Support for foreign table scans will need to
be added in a future patch.  However, this patch creates the necessary
system catalog structure, syntax support, and support for ancillary
operations such as COMMENT and SECURITY LABEL.

Shigeru Hanada, heavily revised by Robert Haas

Files

PathChange+/−
contrib/pageinspect/rawpage.c modified +5 −0
contrib/pgstattuple/pgstattuple.c modified +3 −0
doc/src/sgml/catalogs.sgml modified +62 −2
doc/src/sgml/information_schema.sgml modified +129 −2
doc/src/sgml/ref/allfiles.sgml modified +3 −0
doc/src/sgml/ref/alter_default_privileges.sgml modified +2 −2
doc/src/sgml/ref/alter_foreign_table.sgml added +315 −0
doc/src/sgml/ref/comment.sgml modified +5 −3
doc/src/sgml/ref/create_foreign_table.sgml added +188 −0
doc/src/sgml/ref/create_sequence.sgml modified +1 −1
doc/src/sgml/ref/create_table.sgml modified +2 −2
doc/src/sgml/ref/create_view.sgml modified +1 −1
doc/src/sgml/ref/drop_foreign_table.sgml added +112 −0
doc/src/sgml/reference.sgml modified +3 −0
doc/src/sgml/ref/pg_dump.sgml modified +3 −3
doc/src/sgml/ref/psql-ref.sgml modified +27 −8
doc/src/sgml/ref/security_label.sgml modified +3 −2
src/backend/access/common/reloptions.c modified +4 −1
src/backend/access/heap/heapam.c modified +2 −1
src/backend/catalog/aclchk.c modified +88 −13
src/backend/catalog/dependency.c modified +10 −0
src/backend/catalog/heap.c modified +30 −3
src/backend/catalog/information_schema.sql modified +64 −9
src/backend/catalog/Makefile modified +1 −0
src/backend/catalog/objectaddress.c modified +8 −0
src/backend/catalog/system_views.sql modified +3 −2
src/backend/commands/alter.c modified +3 −0
src/backend/commands/analyze.c modified +1 −1
src/backend/commands/comment.c modified +10 −7
src/backend/commands/copy.c modified +11 −0
src/backend/commands/foreigncmds.c modified +92 −1
src/backend/commands/seclabel.c modified +4 −2
src/backend/commands/tablecmds.c modified +264 −82
src/backend/commands/vacuum.c modified +1 −1
src/backend/executor/execMain.c modified +6 −0
src/backend/nodes/copyfuncs.c modified +32 −4
src/backend/nodes/equalfuncs.c modified +15 −0
src/backend/nodes/outfuncs.c modified +14 −0
src/backend/optimizer/util/plancat.c modified +6 −0
src/backend/parser/gram.y modified +134 −3
src/backend/parser/parse_utilcmd.c modified +5 −2
src/backend/tcop/utility.c modified +47 −0
src/backend/utils/adt/acl.c modified +4 −0
src/backend/utils/cache/syscache.c modified +12 −0
src/bin/pg_dump/dumputils.c modified +2 −0
src/bin/pg_dump/pg_backup_archiver.c modified +2 −0
src/bin/pg_dump/pg_dump.c modified +58 −15
src/bin/psql/command.c modified +5 −1
src/bin/psql/describe.c modified +111 −12
src/bin/psql/describe.h modified +3 −0
src/bin/psql/help.c modified +3 −1
src/bin/psql/tab-complete.c modified +74 −12
src/include/catalog/catversion.h modified +1 −1
src/include/catalog/dependency.h modified +1 −0
src/include/catalog/indexing.h modified +3 −0
src/include/catalog/pg_class.h modified +1 −0
src/include/catalog/pg_foreign_table.h added +53 −0
src/include/commands/defrem.h modified +5 −0
src/include/nodes/nodes.h modified +1 −0
src/include/nodes/parsenodes.h modified +17 −1
src/include/utils/acl.h modified +2 −0
src/include/utils/syscache.h modified +1 −0
src/test/regress/expected/alter_table.out modified +3 −3
src/test/regress/expected/foreign_data.out modified +124 −1
src/test/regress/expected/rules.out modified +3 −3
src/test/regress/expected/sanity_check.out modified +2 −1
src/test/regress/expected/type_sanity.out modified +1 −1
src/test/regress/sql/foreign_data.sql modified +63 −0
src/test/regress/sql/type_sanity.sql modified +1 −1