diff options
Diffstat (limited to 'src/backend/commands/copy.c')
-rw-r--r-- | src/backend/commands/copy.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index c442e202b51..c93a788798d 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -882,6 +882,7 @@ DoCopy(ParseState *pstate, const CopyStmt *stmt, if (stmt->relation) { LOCKMODE lockmode = is_from ? RowExclusiveLock : AccessShareLock; + ParseNamespaceItem *nsitem; RangeTblEntry *rte; TupleDesc tupDesc; List *attnums; @@ -894,14 +895,15 @@ DoCopy(ParseState *pstate, const CopyStmt *stmt, relid = RelationGetRelid(rel); - rte = addRangeTableEntryForRelation(pstate, rel, lockmode, - NULL, false, false); + nsitem = addRangeTableEntryForRelation(pstate, rel, lockmode, + NULL, false, false); + rte = nsitem->p_rte; rte->requiredPerms = (is_from ? ACL_INSERT : ACL_SELECT); if (stmt->whereClause) { - /* add rte to column namespace */ - addRTEtoQuery(pstate, rte, false, true, true); + /* add nsitem to query namespace */ + addNSItemToQuery(pstate, nsitem, false, true, true); /* Transform the raw expression tree */ whereClause = transformExpr(pstate, stmt->whereClause, EXPR_KIND_COPY_WHERE); |