postgresql/src/include/commands
Heikki Linnakangas 6973533650 Revise child-to-root tuple conversion map management.
Store the tuple conversion map to convert a tuple from a child table's
format to the root format in a new ri_ChildToRootMap field in
ResultRelInfo. It is initialized if transition tuple capture for FOR
STATEMENT triggers or INSERT tuple routing on a partitioned table is
needed. Previously, ModifyTable kept the maps in the per-subplan
ModifyTableState->mt_per_subplan_tupconv_maps array, or when tuple
routing was used, in
ResultRelInfo->ri_Partitioninfo->pi_PartitionToRootMap. The new field
replaces both of those.

Now that the child-to-root tuple conversion map is always available in
ResultRelInfo (when needed), remove the TransitionCaptureState.tcs_map
field. The callers of Exec*Trigger() functions no longer need to set or
save it, which is much less confusing and bug-prone. Also, as a future
optimization, this will allow us to delay creating the map for a given
result relation until the relation is actually processed during
execution.

Author: Amit Langote
Discussion: https://www.postgresql.org/message-id/CA%2BHiwqHtCWLdK-LO%3DNEsvOdHx%2B7yv4mE_zYK0i3BH7dXb-wxog%40mail.gmail.com
2020-10-19 14:42:55 +03:00
..
alter.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
async.h Rename SLRU structures and associated LWLocks. 2020-05-15 14:28:25 -04:00
cluster.h Set cutoff xmin more aggressively when vacuuming a temporary table. 2020-09-01 18:40:43 -04:00
collationcmds.h Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
comment.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
conversioncmds.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
copy.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
createas.h Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
dbcommands.h Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
dbcommands_xlog.h Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
defrem.h Add support for partitioned tables and indexes in REINDEX 2020-09-08 10:09:22 +09:00
discard.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
event_trigger.h Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
explain.h Add the option to report WAL usage in EXPLAIN and auto_explain. 2020-04-06 08:02:15 +05:30
extension.h Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
lockcmds.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
matview.h Represent command completion tags as structs 2020-03-02 18:19:51 -03:00
policy.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
portalcmds.h Represent command completion tags as structs 2020-03-02 18:19:51 -03:00
prepare.h Represent command completion tags as structs 2020-03-02 18:19:51 -03:00
proclang.h Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
progress.h Report progress of streaming base backup. 2020-03-03 12:03:43 +09:00
publicationcmds.h Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
schemacmds.h Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
seclabel.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
sequence.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
subscriptioncmds.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
tablecmds.h Restructure ALTER TABLE execution to fix assorted bugs. 2020-01-15 18:49:24 -05:00
tablespace.h Introduce a maintenance_io_concurrency setting. 2020-03-16 17:14:26 +13:00
trigger.h Revise child-to-root tuple conversion map management. 2020-10-19 14:42:55 +03:00
typecmds.h Fix up recent breakage of headerscheck and cpluspluscheck. 2020-03-21 18:28:44 -04:00
user.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
vacuum.h Set cutoff xmin more aggressively when vacuuming a temporary table. 2020-09-01 18:40:43 -04:00
variable.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
view.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00