From bb742407947ad1cbf19355d24282380d576e7654 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 20 Feb 2011 00:17:18 -0500 Subject: 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 --- src/backend/executor/execMain.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/backend/executor/execMain.c') diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 7df7f5cdf0d..68509fbfc6e 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -738,6 +738,13 @@ InitPlan(QueryDesc *queryDesc, int eflags) break; } + /* if foreign table, tuples can't be locked */ + if (relation && relation->rd_rel->relkind == RELKIND_FOREIGN_TABLE) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\"", + RelationGetRelationName(relation)))); + erm = (ExecRowMark *) palloc(sizeof(ExecRowMark)); erm->relation = relation; erm->rti = rc->rti; -- cgit v1.2.3