pgsql: Basic foreign table support.
От | Robert Haas |
---|---|
Тема | pgsql: Basic foreign table support. |
Дата | |
Msg-id | E1PZFsA-0005K6-Ms@gemulon.postgresql.org обсуждение исходный текст |
Список | 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 по дате отправления: