pgsql: Basic foreign table support. - Mailing list pgsql-committers

From Robert Haas
Subject pgsql: Basic foreign table support.
Date
Msg-id E1PZFsA-0005K6-Ms@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Minor wordsmithing.
Next
From: Robert Haas
Date:
Subject: pgsql: Fix typo.