From b84a6dafbf2bb921baee53c0c1aba7719ee38817 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 7 Nov 2018 11:08:45 -0800 Subject: 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 --- src/include/executor/execExpr.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/include/executor') 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, -- cgit v1.2.3