diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2023-04-24 13:01:33 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2023-04-24 13:01:33 -0400 |
commit | fce3b26e97ca98de054734e2af7d9125661a9b3f (patch) | |
tree | 39507a1cc4b6aac89f6143b586fc5a2d032fd3fe /src/include/executor | |
parent | 5a8366ad75eb70cffa791119b404c897983260c6 (diff) |
Rename ExecAggTransReparent, and improve its documentation.
The name of this function suggests that it ought to reparent R/W
expanded objects to be children of the persistent aggcontext, instead
of copying them. In fact it does no such thing, and if you try to
make it do so you will see multiple regression failures. Rename it
to the less-misleading ExecAggCopyTransValue, and add commentary
about why that attractive-sounding optimization won't work. Also
adjust comments at call sites, some of which were describing logic
that has since been moved into ExecAggCopyTransValue.
Discussion: https://postgr.es/m/3004282.1681930251@sss.pgh.pa.us
Diffstat (limited to 'src/include/executor')
-rw-r--r-- | src/include/executor/execExpr.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/include/executor/execExpr.h b/src/include/executor/execExpr.h index ea3ac10876f..157b0d85f29 100644 --- a/src/include/executor/execExpr.h +++ b/src/include/executor/execExpr.h @@ -807,9 +807,9 @@ extern void ExecEvalSysVar(ExprState *state, ExprEvalStep *op, extern void ExecAggInitGroup(AggState *aggstate, AggStatePerTrans pertrans, AggStatePerGroup pergroup, ExprContext *aggcontext); -extern Datum ExecAggTransReparent(AggState *aggstate, AggStatePerTrans pertrans, - Datum newValue, bool newValueIsNull, - Datum oldValue, bool oldValueIsNull); +extern Datum ExecAggCopyTransValue(AggState *aggstate, AggStatePerTrans pertrans, + Datum newValue, bool newValueIsNull, + Datum oldValue, bool oldValueIsNull); extern bool ExecEvalPreOrderedDistinctSingle(AggState *aggstate, AggStatePerTrans pertrans); extern bool ExecEvalPreOrderedDistinctMulti(AggState *aggstate, |