Directly modify foreign tables.
postgres_fdw can now sent an UPDATE or DELETE statement directly to the foreign server in simple cases, rather than sending a SELECT FOR UPDATE statement and then updating or deleting rows one-by-one. Etsuro Fujita, reviewed by Rushabh Lathia, Shigeru Hanada, Kyotaro Horiguchi, Albe Laurenz, Thom Brown, and me.
Showing
- contrib/postgres_fdw/deparse.c 100 additions, 0 deletionscontrib/postgres_fdw/deparse.c
- contrib/postgres_fdw/expected/postgres_fdw.out 285 additions, 29 deletionscontrib/postgres_fdw/expected/postgres_fdw.out
- contrib/postgres_fdw/postgres_fdw.c 612 additions, 71 deletionscontrib/postgres_fdw/postgres_fdw.c
- contrib/postgres_fdw/postgres_fdw.h 14 additions, 0 deletionscontrib/postgres_fdw/postgres_fdw.h
- contrib/postgres_fdw/sql/postgres_fdw.sql 100 additions, 5 deletionscontrib/postgres_fdw/sql/postgres_fdw.sql
- doc/src/sgml/fdwhandler.sgml 178 additions, 2 deletionsdoc/src/sgml/fdwhandler.sgml
- doc/src/sgml/postgres-fdw.sgml 9 additions, 0 deletionsdoc/src/sgml/postgres-fdw.sgml
- src/backend/commands/explain.c 50 additions, 5 deletionssrc/backend/commands/explain.c
- src/backend/executor/execMain.c 1 addition, 0 deletionssrc/backend/executor/execMain.c
- src/backend/executor/nodeForeignscan.c 14 additions, 3 deletionssrc/backend/executor/nodeForeignscan.c
- src/backend/executor/nodeModifyTable.c 50 additions, 10 deletionssrc/backend/executor/nodeModifyTable.c
- src/backend/nodes/copyfuncs.c 2 additions, 0 deletionssrc/backend/nodes/copyfuncs.c
- src/backend/nodes/outfuncs.c 2 additions, 0 deletionssrc/backend/nodes/outfuncs.c
- src/backend/nodes/readfuncs.c 1 addition, 0 deletionssrc/backend/nodes/readfuncs.c
- src/backend/optimizer/plan/createplan.c 21 additions, 0 deletionssrc/backend/optimizer/plan/createplan.c
- src/backend/optimizer/util/plancat.c 47 additions, 0 deletionssrc/backend/optimizer/util/plancat.c
- src/include/foreign/fdwapi.h 20 additions, 0 deletionssrc/include/foreign/fdwapi.h
- src/include/nodes/execnodes.h 2 additions, 0 deletionssrc/include/nodes/execnodes.h
- src/include/nodes/pg_list.h 3 additions, 0 deletionssrc/include/nodes/pg_list.h
- src/include/nodes/plannodes.h 2 additions, 0 deletionssrc/include/nodes/plannodes.h
Loading
Please register or sign in to comment