From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Directly modify foreign tables. |
Date: | 2016-03-18 18:30:12 |
Message-ID: | E1agzA4-00074P-QW@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
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.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/0bf3ae88af330496517722e391e7c975e6bad219
Modified Files
--------------
contrib/postgres_fdw/deparse.c | 100 ++++
contrib/postgres_fdw/expected/postgres_fdw.out | 314 ++++++++++--
contrib/postgres_fdw/postgres_fdw.c | 683 ++++++++++++++++++++++---
contrib/postgres_fdw/postgres_fdw.h | 14 +
contrib/postgres_fdw/sql/postgres_fdw.sql | 105 +++-
doc/src/sgml/fdwhandler.sgml | 180 ++++++-
doc/src/sgml/postgres-fdw.sgml | 9 +
src/backend/commands/explain.c | 55 +-
src/backend/executor/execMain.c | 1 +
src/backend/executor/nodeForeignscan.c | 17 +-
src/backend/executor/nodeModifyTable.c | 60 ++-
src/backend/nodes/copyfuncs.c | 2 +
src/backend/nodes/outfuncs.c | 2 +
src/backend/nodes/readfuncs.c | 1 +
src/backend/optimizer/plan/createplan.c | 21 +
src/backend/optimizer/util/plancat.c | 47 ++
src/include/foreign/fdwapi.h | 20 +
src/include/nodes/execnodes.h | 2 +
src/include/nodes/pg_list.h | 3 +
src/include/nodes/plannodes.h | 2 +
src/include/optimizer/plancat.h | 2 +
21 files changed, 1515 insertions(+), 125 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2016-03-18 18:39:55 | Re: [COMMITTERS] pgsql: Improve memory management for external sorts. |
Previous Message | Andres Freund | 2016-03-18 18:25:05 | Re: pgsql: Improve memory management for external sorts. |