Skip site navigation (1) Skip section navigation (2)

pgsql: Basic foreign table support.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Basic foreign table support.
Date: 2011-01-02 04:48:50
Message-ID: E1PZFsA-0005K6-Ms@gemulon.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committerspgsql-hackers
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(-)

Responses

pgsql-hackers by date

Next:From: Robert HaasDate: 2011-01-02 04:54:05
Subject: Re: SQL/MED - core functionality
Previous:From: Robert HaasDate: 2011-01-02 04:36:10
Subject: Re: Sync Rep Design

pgsql-committers by date

Next:From: Magnus HaganderDate: 2011-01-02 09:24:34
Subject: Re: [COMMITTERS] pgsql: Basic foreign table support.
Previous:From: Robert HaasDate: 2011-01-01 22:52:21
Subject: pgsql: Minor wordsmithing.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group