pgsql: Implement an API to let foreign-data wrappers actually be functi
От | Tom Lane |
---|---|
Тема | pgsql: Implement an API to let foreign-data wrappers actually be functi |
Дата | |
Msg-id | E1Pr1gq-0004W1-Pn@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Implement an API to let foreign-data wrappers actually be functional. This commit provides the core code and documentation needed. A contrib module test case will follow shortly. Shigeru Hanada, Jan Urbanski, Heikki Linnakangas Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/bb742407947ad1cbf19355d24282380d576e7654 Modified Files -------------- doc/src/sgml/ddl.sgml | 47 +++++ doc/src/sgml/fdwhandler.sgml | 212 +++++++++++++++++++++ doc/src/sgml/filelist.sgml | 1 + doc/src/sgml/postgres.sgml | 1 + doc/src/sgml/ref/create_foreign_data_wrapper.sgml | 13 +- doc/src/sgml/ref/create_foreign_table.sgml | 4 +- src/backend/commands/explain.c | 51 ++++-- src/backend/executor/Makefile | 2 +- src/backend/executor/execAmi.c | 5 + src/backend/executor/execMain.c | 7 + src/backend/executor/execProcnode.c | 14 ++ src/backend/executor/nodeForeignscan.c | 209 ++++++++++++++++++++ src/backend/foreign/foreign.c | 159 ++++++++++++++-- src/backend/nodes/copyfuncs.c | 44 +++++ src/backend/nodes/outfuncs.c | 41 ++++ src/backend/optimizer/README | 1 + src/backend/optimizer/path/allpaths.c | 36 ++++- src/backend/optimizer/path/costsize.c | 28 +++ src/backend/optimizer/plan/createplan.c | 86 +++++++++ src/backend/optimizer/plan/planner.c | 3 +- src/backend/optimizer/plan/setrefs.c | 12 ++ src/backend/optimizer/plan/subselect.c | 4 + src/backend/optimizer/util/pathnode.c | 36 ++++ src/backend/optimizer/util/plancat.c | 11 +- src/backend/parser/analyze.c | 18 ++- src/backend/rewrite/rewriteHandler.c | 8 +- src/backend/utils/fmgr/fmgr.c | 20 ++ src/include/commands/explain.h | 11 + src/include/executor/nodeForeignscan.h | 24 +++ src/include/fmgr.h | 1 + src/include/foreign/fdwapi.h | 98 ++++++++++ src/include/foreign/foreign.h | 8 + src/include/nodes/execnodes.h | 14 ++ src/include/nodes/nodes.h | 7 +- src/include/nodes/plannodes.h | 12 ++ src/include/nodes/relation.h | 10 + src/include/optimizer/cost.h | 1 + src/include/optimizer/pathnode.h | 1 + src/test/regress/expected/foreign_data.out | 4 +- 39 files changed, 1202 insertions(+), 62 deletions(-)
В списке pgsql-committers по дате отправления: