diff options
Diffstat (limited to 'src/include/nodes/execnodes.h')
-rw-r--r-- | src/include/nodes/execnodes.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index b6a88ff76b8..943931f65d0 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -394,12 +394,15 @@ typedef struct OnConflictSetState * relation, and perhaps also fire triggers. ResultRelInfo holds all the * information needed about a result relation, including indexes. * - * Normally, a ResultRelInfo refers to a table that is in the query's - * range table; then ri_RangeTableIndex is the RT index and ri_RelationDesc - * is just a copy of the relevant es_relations[] entry. But sometimes, - * in ResultRelInfos used only for triggers, ri_RangeTableIndex is zero - * and ri_RelationDesc is a separately-opened relcache pointer that needs - * to be separately closed. See ExecGetTriggerResultRel. + * Normally, a ResultRelInfo refers to a table that is in the query's range + * table; then ri_RangeTableIndex is the RT index and ri_RelationDesc is + * just a copy of the relevant es_relations[] entry. However, in some + * situations we create ResultRelInfos for relations that are not in the + * range table, namely for targets of tuple routing in a partitioned table, + * and when firing triggers in tables other than the target tables (See + * ExecGetTriggerResultRel). In these situations, ri_RangeTableIndex is 0 + * and ri_RelationDesc is a separately-opened relcache pointer that needs to + * be separately closed. */ typedef struct ResultRelInfo { |