mirror of
https://github.com/postgres/postgres.git
synced 2025-06-17 17:02:08 +03:00
Improve some comments related to executor result relations.
es_leaf_result_relations doesn't exist; perhaps this was an old name for es_tuple_routing_result_relations, or maybe this comment has gone unmaintained through multiple rounds of whacking the code around. Related comment in execnodes.h was both obsolete and ungrammatical.
This commit is contained in:
@ -1348,13 +1348,15 @@ InitResultRelInfo(ResultRelInfo *resultRelInfo,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* ExecGetTriggerResultRel
|
* ExecGetTriggerResultRel
|
||||||
|
* Get a ResultRelInfo for a trigger target relation.
|
||||||
|
*
|
||||||
|
* Most of the time, triggers are fired on one of the result relations of the
|
||||||
|
* query, and so we can just return a member of the es_result_relations array,
|
||||||
|
* or the es_root_result_relations array (if any), or the
|
||||||
|
* es_tuple_routing_result_relations list (if any). (Note: in self-join
|
||||||
|
* situations there might be multiple members with the same OID; if so it
|
||||||
|
* doesn't matter which one we pick.)
|
||||||
*
|
*
|
||||||
* Get a ResultRelInfo for a trigger target relation. Most of the time,
|
|
||||||
* triggers are fired on one of the result relations of the query, and so
|
|
||||||
* we can just return a member of the es_result_relations array, the
|
|
||||||
* es_root_result_relations array (if any), or the es_leaf_result_relations
|
|
||||||
* list (if any). (Note: in self-join situations there might be multiple
|
|
||||||
* members with the same OID; if so it doesn't matter which one we pick.)
|
|
||||||
* However, it is sometimes necessary to fire triggers on other relations;
|
* However, it is sometimes necessary to fire triggers on other relations;
|
||||||
* this happens mainly when an RI update trigger queues additional triggers
|
* this happens mainly when an RI update trigger queues additional triggers
|
||||||
* on other relations, which will be processed in the context of the outer
|
* on other relations, which will be processed in the context of the outer
|
||||||
@ -1404,6 +1406,7 @@ ExecGetTriggerResultRel(EState *estate, Oid relid)
|
|||||||
if (RelationGetRelid(rInfo->ri_RelationDesc) == relid)
|
if (RelationGetRelid(rInfo->ri_RelationDesc) == relid)
|
||||||
return rInfo;
|
return rInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Nope, but maybe we already made an extra ResultRelInfo for it */
|
/* Nope, but maybe we already made an extra ResultRelInfo for it */
|
||||||
foreach(l, estate->es_trig_target_relations)
|
foreach(l, estate->es_trig_target_relations)
|
||||||
{
|
{
|
||||||
|
@ -508,11 +508,10 @@ typedef struct EState
|
|||||||
ResultRelInfo *es_result_relation_info; /* currently active array elt */
|
ResultRelInfo *es_result_relation_info; /* currently active array elt */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Info about the target partitioned target table root(s) for
|
* Info about the partition root table(s) for insert/update/delete queries
|
||||||
* update/delete queries. They required only to fire any per-statement
|
* targeting partitioned tables. Only leaf partitions are mentioned in
|
||||||
* triggers defined on the table. It exists separately from
|
* es_result_relations, but we need access to the roots for firing
|
||||||
* es_result_relations, because partitioned tables don't appear in the
|
* triggers and for runtime tuple routing.
|
||||||
* plan tree for the update/delete cases.
|
|
||||||
*/
|
*/
|
||||||
ResultRelInfo *es_root_result_relations; /* array of ResultRelInfos */
|
ResultRelInfo *es_root_result_relations; /* array of ResultRelInfos */
|
||||||
int es_num_root_result_relations; /* length of the array */
|
int es_num_root_result_relations; /* length of the array */
|
||||||
|
Reference in New Issue
Block a user