summaryrefslogtreecommitdiff
path: root/src/include/executor
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-11-07 11:08:45 -0800
committerAndres Freund <andres@anarazel.de>2018-11-07 11:08:45 -0800
commitb84a6dafbf2bb921baee53c0c1aba7719ee38817 (patch)
tree0b93d0dd7dd559c6acad4cc0f53731eebb8e68ee /src/include/executor
parent517b0d0b5f38c92c1807a40d71ca4bf6428ca7d5 (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.h2
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,