29 #define EEO_FLAG_INTERPRETER_INITIALIZED (1 << 1)
31 #define EEO_FLAG_DIRECT_THREADED (1 << 2)
749 "size of ExprEvalStep exceeds 64 bytes");
881 Datum newValue,
bool newValueIsNull,
882 Datum oldValue,
bool oldValueIsNull);
void ExecEvalParamExtern(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalFieldStoreForm(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalGroupingFunc(ExprState *state, ExprEvalStep *op)
struct SubscriptExecSteps SubscriptExecSteps
void ExecEvalRow(ExprState *state, ExprEvalStep *op)
void ExecEvalFieldStoreDeForm(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalCurrentOfExpr(ExprState *state, ExprEvalStep *op)
void ExecEvalSQLValueFunction(ExprState *state, ExprEvalStep *op)
void ExecEvalRowNull(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
struct SubscriptingRefState SubscriptingRefState
void ExecEvalArrayExpr(ExprState *state, ExprEvalStep *op)
void ExecEvalParamSet(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalCoerceViaIOSafe(ExprState *state, ExprEvalStep *op)
Datum ExecInterpExprStillValid(ExprState *state, ExprContext *econtext, bool *isNull)
void ExecEvalConvertRowtype(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
bool ExecEvalPreOrderedDistinctMulti(AggState *aggstate, AggStatePerTrans pertrans)
void ExecEvalFieldSelect(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
int ExecEvalJsonExprPath(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalConstraintNotNull(ExprState *state, ExprEvalStep *op)
void ExprEvalPushStep(ExprState *es, const ExprEvalStep *s)
void ExecEvalScalarArrayOp(ExprState *state, ExprEvalStep *op)
void ExecEvalAggOrderedTransDatum(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalParamExec(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalJsonCoercion(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
struct ExprEvalRowtypeCache ExprEvalRowtypeCache
void ExecAggInitGroup(AggState *aggstate, AggStatePerTrans pertrans, AggStatePerGroup pergroup, ExprContext *aggcontext)
void ExecEvalNextValueExpr(ExprState *state, ExprEvalStep *op)
void ExecEvalSysVar(ExprState *state, ExprEvalStep *op, ExprContext *econtext, TupleTableSlot *slot)
void ExecEvalMinMax(ExprState *state, ExprEvalStep *op)
void ExecEvalSubPlan(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalJsonIsPredicate(ExprState *state, ExprEvalStep *op)
bool(* ExecEvalBoolSubroutine)(ExprState *state, struct ExprEvalStep *op, ExprContext *econtext)
Datum ExecAggCopyTransValue(AggState *aggstate, AggStatePerTrans pertrans, Datum newValue, bool newValueIsNull, Datum oldValue, bool oldValueIsNull)
struct ExprEvalStep ExprEvalStep
void ExecEvalMergeSupportFunc(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void CheckExprStillValid(ExprState *state, ExprContext *econtext)
void ExecEvalJsonConstructor(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalWholeRowVar(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalHashedScalarArrayOp(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalJsonCoercionFinish(ExprState *state, ExprEvalStep *op)
void ExecReadyInterpretedExpr(ExprState *state)
void ExecEvalRowNotNull(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
ExprEvalOp ExecEvalStepOp(ExprState *state, ExprEvalStep *op)
void(* ExecEvalSubroutine)(ExprState *state, struct ExprEvalStep *op, ExprContext *econtext)
@ EEOP_FUNCEXPR_STRICT_FUSAGE
@ EEOP_HASHDATUM_NEXT32_STRICT
@ EEOP_JSONEXPR_COERCION_FINISH
@ EEOP_HASHDATUM_FIRST_STRICT
@ EEOP_AGG_PLAIN_PERGROUP_NULLCHECK
@ EEOP_AGG_STRICT_DESERIALIZE
@ EEOP_BOOLTEST_IS_NOT_FALSE
@ EEOP_AGG_PLAIN_TRANS_BYREF
@ EEOP_AGG_PRESORTED_DISTINCT_MULTI
@ EEOP_AGG_PLAIN_TRANS_BYVAL
@ EEOP_NULLTEST_ROWISNOTNULL
@ EEOP_ASSIGN_TMP_MAKE_RO
@ EEOP_BOOL_OR_STEP_FIRST
@ EEOP_AGG_STRICT_INPUT_CHECK_NULLS
@ EEOP_AGG_STRICT_INPUT_CHECK_ARGS
@ EEOP_NULLTEST_ROWISNULL
@ EEOP_NULLTEST_ISNOTNULL
@ EEOP_MERGE_SUPPORT_FUNC
@ EEOP_AGG_PRESORTED_DISTINCT_SINGLE
@ EEOP_BOOL_AND_STEP_FIRST
@ EEOP_BOOL_AND_STEP_LAST
@ EEOP_AGG_ORDERED_TRANS_DATUM
@ EEOP_HASHDATUM_SET_INITVAL
@ EEOP_AGG_PLAIN_TRANS_STRICT_BYREF
@ EEOP_BOOLTEST_IS_NOT_TRUE
@ EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYVAL
@ EEOP_AGG_PLAIN_TRANS_STRICT_BYVAL
@ EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYREF
@ EEOP_HASHED_SCALARARRAYOP
@ EEOP_AGG_ORDERED_TRANS_TUPLE
void ExecEvalConstraintCheck(ExprState *state, ExprEvalStep *op)
StaticAssertDecl(sizeof(ExprEvalStep)<=64, "size of ExprEvalStep exceeds 64 bytes")
void ExecEvalArrayCoerce(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalFuncExprStrictFusage(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalFuncExprFusage(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
void ExecEvalXmlExpr(ExprState *state, ExprEvalStep *op)
bool ExecEvalPreOrderedDistinctSingle(AggState *aggstate, AggStatePerTrans pertrans)
struct JsonConstructorExprState JsonConstructorExprState
void ExecEvalAggOrderedTransTuple(ExprState *state, ExprEvalStep *op, ExprContext *econtext)
Datum(* PGFunction)(FunctionCallInfo fcinfo)
struct ExprEvalStep::@52::@62 jump
ExprState * elemexprstate
struct ExprEvalStep::@52::@68 iocoerce
struct ExprEvalStep::@52::@81 domaincheck
struct ExprEvalStep::@52::@56 assign_var
struct ExprEvalStep::@52::@95 agg_plain_pergroup_nullcheck
struct ExprEvalStep::@52::@78 fieldstore
WindowFuncExprState * wfstate
void * json_coercion_cache
ExecEvalBoolSubroutine subscriptfunc
struct ExprEvalStep::@52::@97 agg_trans
struct ExprEvalStep::@52::@75 rowcompare_final
ExprEvalRowtypeCache * rowcache
struct ExprEvalStep::@52::@96 agg_presorted_distinctcheck
struct ExprEvalStep::@52::@77 fieldselect
struct ExprEvalStep::@52::@53 fetch
struct ExprEvalStep::@52::@92 subplan
struct ScalarArrayOpExprHashTable * elements_tab
struct SubscriptingRefState * state
struct ExprEvalStep::@52::@90 grouping_func
struct ExprEvalStep::@52::@79 sbsref_subscript
AggStatePerTrans pertrans
struct ExprEvalStep::@52::@59 func
struct ExprEvalStep::@52::@67 make_readonly
struct ExprEvalStep::@52::@80 sbsref
struct JsonExprState * jsestate
struct ExprEvalStep::@52::@61 qualexpr
struct ExprEvalStep::@52::@91 window_func
ExecEvalSubroutine paramfunc
FunctionCallInfo fcinfo_data_in
struct ExprEvalStep::@52::@98 is_json
struct ExprEvalStep::@52::@82 hashdatum_initvalue
struct ExprEvalStep::@52::@70 nextvalueexpr
struct ExprEvalStep::@52::@84 convert_rowtype
ExprEvalRowtypeCache * incache
const TupleTableSlotOps * kind
struct ExprEvalStep::@52::@63 nulltest_row
FunctionCallInfo fcinfo_data
struct ExprEvalStep::@52::@54 var
struct ExprEvalStep::@52::@65 cparam
struct ExprEvalStep::@52::@76 minmax
struct ExprEvalStep::@52::@55 wholerow
ErrorSaveContext * escontext
struct ExprEvalStep::@52::@87 xmlexpr
struct ExprEvalStep::@52::@100 jsonexpr_coercion
union ExprEvalStep::@52 d
struct ExprEvalStep::@52::@57 assign_tmp
struct ExprEvalStep::@52::@72 arraycoerce
struct ExprEvalStep::@52::@58 constval
struct ExprEvalStep::@52::@86 hashedscalararrayop
struct ExprEvalStep::@52::@99 jsonexpr
FunctionCallInfo fcinfo_data_out
ExecEvalSubroutine subscriptfunc
struct ExprEvalStep::@52::@94 agg_strict_input_check
ExprEvalRowtypeCache * outcache
struct ExprEvalStep::@52::@74 rowcompare_step
struct ExprEvalStep::@52::@85 scalararrayop
struct ExprEvalStep::@52::@89 aggref
struct ExprEvalStep::@52::@93 agg_deserialize
ExprEvalRowtypeCache rowcache
struct JsonConstructorExprState * jcstate
struct ExprEvalStep::@52::@66 casetest
struct ExprEvalStep::@52::@69 sqlvaluefunction
struct ExprEvalStep::@52::@83 hashdatum
struct ExprEvalStep::@52::@60 boolexpr
struct ExprEvalStep::@52::@88 json_constructor
struct ExprEvalStep::@52::@73 row
struct ExprEvalStep::@52::@64 param
struct ExprEvalStep::@52::@71 arrayexpr
struct ArrayMapState * amstate
JsonConstructorExpr * constructor
struct JsonConstructorExprState::@101 * arg_type_cache
ExecEvalSubroutine sbs_fetch_old
ExecEvalBoolSubroutine sbs_check_subscripts
ExecEvalSubroutine sbs_assign
ExecEvalSubroutine sbs_fetch