aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/plan/planner.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-02-20 00:17:18 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2011-02-20 00:18:14 -0500
commitbb742407947ad1cbf19355d24282380d576e7654 (patch)
treeac377ed05d85d9cbd0b33127f4d59750b6e60cda /src/backend/optimizer/plan/planner.c
parentd5813488a4ccc78ec3a4ad0d5da4e6e844af75e8 (diff)
downloadpostgresql-bb742407947ad1cbf19355d24282380d576e7654.tar.gz
postgresql-bb742407947ad1cbf19355d24282380d576e7654.zip
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
Diffstat (limited to 'src/backend/optimizer/plan/planner.c')
-rw-r--r--src/backend/optimizer/plan/planner.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index 01b90383cf3..b73b872b312 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -1914,7 +1914,8 @@ preprocess_rowmarks(PlannerInfo *root)
newrc->rti = newrc->prti = i;
newrc->rowmarkId = ++(root->glob->lastRowMarkId);
/* real tables support REFERENCE, anything else needs COPY */
- if (rte->rtekind == RTE_RELATION)
+ if (rte->rtekind == RTE_RELATION &&
+ get_rel_relkind(rte->relid) != RELKIND_FOREIGN_TABLE)
newrc->markType = ROW_MARK_REFERENCE;
else
newrc->markType = ROW_MARK_COPY;