diff options
| author | Andres Freund <andres@anarazel.de> | 2018-11-07 11:08:45 -0800 |
|---|---|---|
| committer | Andres Freund <andres@anarazel.de> | 2018-11-07 11:08:45 -0800 |
| commit | b84a6dafbf2bb921baee53c0c1aba7719ee38817 (patch) | |
| tree | 0b93d0dd7dd559c6acad4cc0f53731eebb8e68ee /src/include/executor | |
| parent | 517b0d0b5f38c92c1807a40d71ca4bf6428ca7d5 (diff) | |
Move EEOP_*_SYSVAR evaluation out of line.
This mainly de-duplicates code. As evaluating a system variable isn't
the hottest path and the current inline implementation ends up calling
out to an external function anyway, this is OK from a performance POV.
The main motivation for de-duplicating is the upcoming slot
abstraction work, after which there's not guaranteed to be a HeapTuple
backing the slot.
Author: Andres Freund, Amit Khandekar
Discussion: https://postgr.es/m/20181105210039.hh4vvi4vwoq5ba2q@alap3.anarazel.de
Diffstat (limited to 'src/include/executor')
| -rw-r--r-- | src/include/executor/execExpr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/executor/execExpr.h b/src/include/executor/execExpr.h index 02af68f2c25..ac53935d700 100644 --- a/src/include/executor/execExpr.h +++ b/src/include/executor/execExpr.h @@ -734,6 +734,8 @@ extern void ExecEvalAlternativeSubPlan(ExprState *state, ExprEvalStep *op, ExprContext *econtext); extern void ExecEvalWholeRowVar(ExprState *state, ExprEvalStep *op, ExprContext *econtext); +extern void ExecEvalSysVar(ExprState *state, ExprEvalStep *op, + ExprContext *econtext, TupleTableSlot *slot); extern void ExecAggInitGroup(AggState *aggstate, AggStatePerTrans pertrans, AggStatePerGroup pergroup); extern Datum ExecAggTransReparent(AggState *aggstate, AggStatePerTrans pertrans, |
