mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
Support writable foreign tables.
This patch adds the core-system infrastructure needed to support updates on foreign tables, and extends contrib/postgres_fdw to allow updates against remote Postgres servers. There's still a great deal of room for improvement in optimization of remote updates, but at least there's basic functionality there now. KaiGai Kohei, reviewed by Alexander Korotkov and Laurenz Albe, and rather heavily revised by Tom Lane.
This commit is contained in:
@ -270,7 +270,8 @@ typedef struct ProjectionInfo
|
||||
* resultSlot: tuple slot used to hold cleaned tuple.
|
||||
* junkAttNo: not used by junkfilter code. Can be used by caller
|
||||
* to remember the attno of a specific junk attribute
|
||||
* (execMain.c stores the "ctid" attno here).
|
||||
* (nodeModifyTable.c keeps the "ctid" or "wholerow"
|
||||
* attno here).
|
||||
* ----------------
|
||||
*/
|
||||
typedef struct JunkFilter
|
||||
@ -300,6 +301,8 @@ typedef struct JunkFilter
|
||||
* TrigFunctions cached lookup info for trigger functions
|
||||
* TrigWhenExprs array of trigger WHEN expr states
|
||||
* TrigInstrument optional runtime measurements for triggers
|
||||
* FdwRoutine FDW callback functions, if foreign table
|
||||
* FdwState available to save private state of FDW
|
||||
* ConstraintExprs array of constraint-checking expr states
|
||||
* junkFilter for removing junk attributes from tuples
|
||||
* projectReturning for computing a RETURNING list
|
||||
@ -317,6 +320,8 @@ typedef struct ResultRelInfo
|
||||
FmgrInfo *ri_TrigFunctions;
|
||||
List **ri_TrigWhenExprs;
|
||||
Instrumentation *ri_TrigInstrument;
|
||||
struct FdwRoutine *ri_FdwRoutine;
|
||||
void *ri_FdwState;
|
||||
List **ri_ConstraintExprs;
|
||||
JunkFilter *ri_junkFilter;
|
||||
ProjectionInfo *ri_projectReturning;
|
||||
|
Reference in New Issue
Block a user