aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor/execExpr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/executor/execExpr.h')
-rw-r--r--src/include/executor/execExpr.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/include/executor/execExpr.h b/src/include/executor/execExpr.h
index 080252fad60..511205b5acc 100644
--- a/src/include/executor/execExpr.h
+++ b/src/include/executor/execExpr.h
@@ -51,12 +51,8 @@ typedef enum ExprEvalOp
EEOP_SCAN_FETCHSOME,
/* compute non-system Var value */
- /* "FIRST" variants are used only the first time through */
- EEOP_INNER_VAR_FIRST,
EEOP_INNER_VAR,
- EEOP_OUTER_VAR_FIRST,
EEOP_OUTER_VAR,
- EEOP_SCAN_VAR_FIRST,
EEOP_SCAN_VAR,
/* compute system Var value */
@@ -67,8 +63,11 @@ typedef enum ExprEvalOp
/* compute wholerow Var */
EEOP_WHOLEROW,
- /* compute non-system Var value, assign it into ExprState's resultslot */
- /* (these are not used if _FIRST checks would be needed) */
+ /*
+ * Compute non-system Var value, assign it into ExprState's
+ * resultslot. These are not used if a CheckVarSlotCompatibility() check
+ * would be needed.
+ */
EEOP_ASSIGN_INNER_VAR,
EEOP_ASSIGN_OUTER_VAR,
EEOP_ASSIGN_SCAN_VAR,
@@ -621,6 +620,9 @@ extern void ExprEvalPushStep(ExprState *es, const ExprEvalStep *s);
extern void ExecReadyInterpretedExpr(ExprState *state);
extern ExprEvalOp ExecEvalStepOp(ExprState *state, ExprEvalStep *op);
+extern Datum ExecInterpExprStillValid(ExprState *state, ExprContext *econtext, bool *isNull);
+extern void CheckExprStillValid(ExprState *state, ExprContext *econtext);
+
/*
* Non fast-path execution functions. These are externs instead of statics in
* execExprInterp.c, because that allows them to be used by other methods of