diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2022-11-29 09:39:36 +0100 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2022-11-29 09:39:36 +0100 |
commit | ad86d159b6ab90b195b06fb5c7b593900a7f9cd8 (patch) | |
tree | acea26f7f4dd2c3bfd2e17dea81d3bc616926594 /src/backend/executor/execMain.c | |
parent | 00ae5d6f588e9d21fa4f4d267811f3f602fe45af (diff) | |
download | postgresql-ad86d159b6ab90b195b06fb5c7b593900a7f9cd8.tar.gz postgresql-ad86d159b6ab90b195b06fb5c7b593900a7f9cd8.zip |
Add 'missing_ok' argument to build_attrmap_by_name
When it's given as true, return a 0 in the position of the missing
column rather than raising an error.
This is currently unused, but it allows us to reimplement column
permission checking in a subsequent commit. It seems worth breaking
into a separate commit because it affects unrelated code.
Author: Amit Langote <amitlangote09@gmail.com>
Discussion: https://postgr.es/m/CA+HiwqFfiai=qBxPDTjaio_ZcaqUKh+FC=prESrB8ogZgFNNNQ@mail.gmail.com
Diffstat (limited to 'src/backend/executor/execMain.c')
-rw-r--r-- | src/backend/executor/execMain.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index ef828e04960..e301c687e37 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -1859,7 +1859,7 @@ ExecPartitionCheckEmitError(ResultRelInfo *resultRelInfo, old_tupdesc = RelationGetDescr(resultRelInfo->ri_RelationDesc); /* a reverse map */ - map = build_attrmap_by_name_if_req(old_tupdesc, tupdesc); + map = build_attrmap_by_name_if_req(old_tupdesc, tupdesc, false); /* * Partition-specific slot's tupdesc can't be changed, so allocate a @@ -1944,7 +1944,8 @@ ExecConstraints(ResultRelInfo *resultRelInfo, tupdesc = RelationGetDescr(rootrel->ri_RelationDesc); /* a reverse map */ map = build_attrmap_by_name_if_req(orig_tupdesc, - tupdesc); + tupdesc, + false); /* * Partition-specific slot's tupdesc can't be changed, so @@ -1996,7 +1997,8 @@ ExecConstraints(ResultRelInfo *resultRelInfo, tupdesc = RelationGetDescr(rootrel->ri_RelationDesc); /* a reverse map */ map = build_attrmap_by_name_if_req(old_tupdesc, - tupdesc); + tupdesc, + false); /* * Partition-specific slot's tupdesc can't be changed, so @@ -2103,7 +2105,8 @@ ExecWithCheckOptions(WCOKind kind, ResultRelInfo *resultRelInfo, tupdesc = RelationGetDescr(rootrel->ri_RelationDesc); /* a reverse map */ map = build_attrmap_by_name_if_req(old_tupdesc, - tupdesc); + tupdesc, + false); /* * Partition-specific slot's tupdesc can't be changed, |