pgsql: Basic foreign table support.
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
Branch
------
master
Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0d692a0dc9f0e532c67c577187fe5d7d323cb95b
Modified Files
--------------
contrib/pageinspect/rawpage.c | 5 +
contrib/pgstattuple/pgstattuple.c | 3 +
doc/src/sgml/catalogs.sgml | 64 +++++-
doc/src/sgml/information_schema.sgml | 131 +++++++++-
doc/src/sgml/ref/allfiles.sgml | 3 +
doc/src/sgml/ref/alter_default_privileges.sgml | 4 +-
doc/src/sgml/ref/alter_foreign_table.sgml | 315 +++++++++++++++++++++
doc/src/sgml/ref/comment.sgml | 8 +-
doc/src/sgml/ref/create_foreign_table.sgml | 188 +++++++++++++
doc/src/sgml/ref/create_sequence.sgml | 2 +-
doc/src/sgml/ref/create_table.sgml | 4 +-
doc/src/sgml/ref/create_view.sgml | 2 +-
doc/src/sgml/ref/drop_foreign_table.sgml | 112 ++++++++
doc/src/sgml/ref/pg_dump.sgml | 6 +-
doc/src/sgml/ref/psql-ref.sgml | 35 ++-
doc/src/sgml/ref/security_label.sgml | 5 +-
doc/src/sgml/reference.sgml | 3 +
src/backend/access/common/reloptions.c | 5 +-
src/backend/access/heap/heapam.c | 3 +-
src/backend/catalog/Makefile | 1 +
src/backend/catalog/aclchk.c | 101 ++++++-
src/backend/catalog/dependency.c | 10 +
src/backend/catalog/heap.c | 33 ++-
src/backend/catalog/information_schema.sql | 73 +++++-
src/backend/catalog/objectaddress.c | 8 +
src/backend/catalog/system_views.sql | 5 +-
src/backend/commands/alter.c | 3 +
src/backend/commands/analyze.c | 2 +-
src/backend/commands/comment.c | 17 +-
src/backend/commands/copy.c | 11 +
src/backend/commands/foreigncmds.c | 93 +++++++-
src/backend/commands/seclabel.c | 6 +-
src/backend/commands/tablecmds.c | 348 ++++++++++++++++++------
src/backend/commands/vacuum.c | 2 +-
src/backend/executor/execMain.c | 6 +
src/backend/nodes/copyfuncs.c | 36 +++-
src/backend/nodes/equalfuncs.c | 15 +
src/backend/nodes/outfuncs.c | 14 +
src/backend/optimizer/util/plancat.c | 6 +
src/backend/parser/gram.y | 137 +++++++++-
src/backend/parser/parse_utilcmd.c | 7 +-
src/backend/tcop/utility.c | 47 ++++
src/backend/utils/adt/acl.c | 4 +
src/backend/utils/cache/syscache.c | 12 +
src/bin/pg_dump/dumputils.c | 2 +
src/bin/pg_dump/pg_backup_archiver.c | 2 +
src/bin/pg_dump/pg_dump.c | 73 ++++-
src/bin/psql/command.c | 6 +-
src/bin/psql/describe.c | 123 ++++++++-
src/bin/psql/describe.h | 3 +
src/bin/psql/help.c | 4 +-
src/bin/psql/tab-complete.c | 86 +++++-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/dependency.h | 1 +
src/include/catalog/indexing.h | 3 +
src/include/catalog/pg_class.h | 1 +
src/include/catalog/pg_foreign_table.h | 53 ++++
src/include/commands/defrem.h | 5 +
src/include/nodes/nodes.h | 1 +
src/include/nodes/parsenodes.h | 18 ++-
src/include/utils/acl.h | 2 +
src/include/utils/syscache.h | 1 +
src/test/regress/expected/alter_table.out | 6 +-
src/test/regress/expected/foreign_data.out | 125 +++++++++-
src/test/regress/expected/rules.out | 6 +-
src/test/regress/expected/sanity_check.out | 3 +-
src/test/regress/expected/type_sanity.out | 2 +-
src/test/regress/sql/foreign_data.sql | 63 +++++
src/test/regress/sql/type_sanity.sql | 2 +-
69 files changed, 2276 insertions(+), 212 deletions(-)
Typo, I think:
- (errmsg("skipping \"%s\" --- cannot vacuum indexes,
views, or special system tables",
+ (errmsg("skipping \"%s\" --- cannot only non-tables or
special system tables",
//Magnus
On Sun, Jan 2, 2011 at 05:48, Robert Haas <rhaas@postgresql.org> wrote:
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
Branch
------
masterDetails
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0d692a0dc9f0e532c67c577187fe5d7d323cb95bModified Files
--------------
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
On Sun, Jan 2, 2011 at 4:24 AM, Magnus Hagander <magnus@hagander.net> wrote:
Typo, I think:
- (errmsg("skipping \"%s\" --- cannot vacuum indexes, views, or special system tables", + (errmsg("skipping \"%s\" --- cannot only non-tables or special system tables",
Oops, fixed.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company