PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | ExprEvalStep |
struct | SubscriptingRefState |
Macros | |
#define | EEO_FLAG_INTERPRETER_INITIALIZED (1 << 1) |
#define | EEO_FLAG_DIRECT_THREADED (1 << 2) |
Typedefs | |
typedef void(* | ExecEvalSubroutine) (ExprState *state, struct ExprEvalStep *op, ExprContext *econtext) |
typedef enum ExprEvalOp | ExprEvalOp |
typedef struct ExprEvalStep | ExprEvalStep |
typedef struct SubscriptingRefState | SubscriptingRefState |
#define EEO_FLAG_DIRECT_THREADED (1 << 2) |
Definition at line 28 of file execExpr.h.
Referenced by ExecEvalStepOp(), and ExecReadyInterpretedExpr().
#define EEO_FLAG_INTERPRETER_INITIALIZED (1 << 1) |
Definition at line 26 of file execExpr.h.
Referenced by ExecReadyInterpretedExpr().
typedef void(* ExecEvalSubroutine) (ExprState *state, struct ExprEvalStep *op, ExprContext *econtext) |
Definition at line 31 of file execExpr.h.
typedef enum ExprEvalOp ExprEvalOp |
typedef struct ExprEvalStep ExprEvalStep |
typedef struct SubscriptingRefState SubscriptingRefState |
enum ExprEvalOp |
Definition at line 44 of file execExpr.h.
void CheckExprStillValid | ( | ExprState * | state, |
ExprContext * | econtext | ||
) |
Definition at line 1817 of file execExprInterp.c.
References attnum, CheckVarSlotCompatibility(), ExprEvalStep::d, ExprContext::ecxt_innertuple, ExprContext::ecxt_outertuple, ExprContext::ecxt_scantuple, EEOP_INNER_VAR, EEOP_OUTER_VAR, EEOP_SCAN_VAR, ExecEvalStepOp(), i, ExprState::steps, ExprState::steps_len, and ExprEvalStep::var.
Referenced by ExecInterpExprStillValid(), and ExecRunCompiledExpr().
void ExecAggInitGroup | ( | AggState * | aggstate, |
AggStatePerTrans | pertrans, | ||
AggStatePerGroup | pergroup | ||
) |
Definition at line 4157 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, AggState::curaggcontext, datumCopy(), ExprContext::ecxt_per_tuple_memory, MemoryContextSwitchTo(), AggStatePerGroupData::noTransValue, AggStatePerTransData::transfn_fcinfo, AggStatePerTransData::transtypeByVal, AggStatePerTransData::transtypeLen, AggStatePerGroupData::transValue, AggStatePerGroupData::transValueIsNull, and NullableDatum::value.
Referenced by ExecInterpExpr().
Datum ExecAggTransReparent | ( | AggState * | aggstate, |
AggStatePerTrans | pertrans, | ||
Datum | newValue, | ||
bool | newValueIsNull, | ||
Datum | oldValue, | ||
bool | oldValueIsNull | ||
) |
Definition at line 4185 of file execExprInterp.c.
References AggState::curaggcontext, CurrentMemoryContext, datumCopy(), DatumGetEOHP(), DatumGetPointer, DatumIsReadWriteExpandedObject, DeleteExpandedObject(), ExprContext::ecxt_per_tuple_memory, MemoryContextGetParent(), MemoryContextSwitchTo(), pfree(), AggStatePerTransData::transtypeByVal, and AggStatePerTransData::transtypeLen.
Referenced by ExecInterpExpr().
void ExecEvalAggOrderedTransDatum | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 4219 of file execExprInterp.c.
References ExprEvalStep::agg_trans, ExprEvalStep::d, ExprEvalStep::resnull, ExprEvalStep::resvalue, AggStatePerTransData::sortstates, and tuplesort_putdatum().
Referenced by ExecInterpExpr().
void ExecEvalAggOrderedTransTuple | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 4233 of file execExprInterp.c.
References ExprEvalStep::agg_trans, ExprEvalStep::d, ExecClearTuple(), ExecStoreVirtualTuple(), AggStatePerTransData::numInputs, AggStatePerTransData::sortslot, AggStatePerTransData::sortstates, TupleTableSlot::tts_nvalid, and tuplesort_puttupleslot().
Referenced by ExecInterpExpr().
void ExecEvalAlternativeSubPlan | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 3889 of file execExprInterp.c.
References ExprEvalStep::alternative_subplan, check_stack_depth(), ExprEvalStep::d, ExecAlternativeSubPlan(), ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalArrayCoerce | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2847 of file execExprInterp.c.
References ARR_ELEMTYPE, array_map(), ExprEvalStep::arraycoerce, ExprEvalStep::d, DatumGetArrayTypePCopy, PointerGetDatum, ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalArrayExpr | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2640 of file execExprInterp.c.
References ARR_DATA_OFFSET, ARR_DATA_PTR, ARR_DIMS, ARR_ELEMTYPE, ARR_HASNULL, ARR_LBOUND, ARR_NDIM, ARR_NULLBITMAP, ARR_OVERHEAD_NONULLS, ARR_OVERHEAD_WITHNULLS, ARR_SIZE, array_bitmap_copy(), ExprEvalStep::arrayexpr, ArrayGetNItems(), construct_empty_array(), construct_md_array(), ExprEvalStep::d, ArrayType::dataoffset, DatumGetArrayTypeP, ArrayType::elemtype, ereport, errcode(), errdetail(), errmsg(), ERROR, format_type_be(), i, MAXDIM, ArrayType::ndim, palloc(), PointerGetDatum, ExprEvalStep::resnull, ExprEvalStep::resvalue, and SET_VARSIZE.
Referenced by ExecInterpExpr().
void ExecEvalConstraintCheck | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3611 of file execExprInterp.c.
References ExprEvalStep::d, DatumGetBool, ExprEvalStep::domaincheck, ereport, errcode(), errdomainconstraint(), errmsg(), ERROR, and format_type_be().
Referenced by ExecInterpExpr().
void ExecEvalConstraintNotNull | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3597 of file execExprInterp.c.
References ExprEvalStep::d, ExprEvalStep::domaincheck, ereport, errcode(), errdatatype(), errmsg(), ERROR, format_type_be(), and ExprEvalStep::resnull.
Referenced by ExecInterpExpr().
void ExecEvalConvertRowtype | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 3348 of file execExprInterp.c.
References ConvertRowtypeExpr::arg, Assert, convert(), ExprEvalStep::convert_rowtype, convert_tuples_by_name(), ExprEvalStep::d, DatumGetHeapTupleHeader, ExprContext::ecxt_per_query_memory, execute_attr_map_tuple(), exprType(), get_cached_rowtype(), heap_copy_tuple_as_datum(), HeapTupleGetDatum, HeapTupleHeaderGetDatumLength, HeapTupleHeaderGetTypeId, MemoryContextSwitchTo(), ExprEvalStep::resnull, ConvertRowtypeExpr::resulttype, ExprEvalStep::resvalue, HeapTupleData::t_data, HeapTupleData::t_len, and TupleDescData::tdtypeid.
Referenced by ExecInterpExpr().
void ExecEvalCurrentOfExpr | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2499 of file execExprInterp.c.
References ereport, errcode(), errmsg(), and ERROR.
Referenced by ExecInterpExpr().
void ExecEvalFieldSelect | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2962 of file execExprInterp.c.
References Assert, ExprEvalStep::d, DatumGetEOHP(), DatumGetHeapTupleHeader, DatumGetPointer, elog, ER_MAGIC, ExpandedRecordHeader::er_magic, ereport, errcode(), errdetail(), errmsg(), ERROR, expanded_record_get_field(), expanded_record_get_tupdesc(), ExprEvalStep::fieldselect, format_type_be(), get_cached_rowtype(), heap_getattr, HeapTupleHeaderGetDatumLength, HeapTupleHeaderGetTypeId, HeapTupleHeaderGetTypMod, TupleDescData::natts, ExprEvalStep::resnull, ExprEvalStep::resvalue, HeapTupleData::t_data, HeapTupleData::t_len, TupleDescAttr, and VARATT_IS_EXTERNAL_EXPANDED.
Referenced by ExecInterpExpr().
void ExecEvalFieldStoreDeForm | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 3088 of file execExprInterp.c.
References ExprEvalStep::d, DatumGetHeapTupleHeader, elog, ERROR, ExprEvalStep::fieldstore, get_cached_rowtype(), heap_deform_tuple(), HeapTupleHeaderGetDatumLength, InvalidOid, ItemPointerSetInvalid, TupleDescData::natts, ExprEvalStep::resnull, ExprEvalStep::resvalue, HeapTupleData::t_data, HeapTupleData::t_len, HeapTupleData::t_self, HeapTupleData::t_tableOid, and unlikely.
Referenced by ExecInterpExpr().
void ExecEvalFieldStoreForm | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 3134 of file execExprInterp.c.
References ExprEvalStep::d, ExprEvalStep::fieldstore, heap_form_tuple(), HeapTupleGetDatum, ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalFuncExprFusage | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2310 of file execExprInterp.c.
References ExprEvalStep::d, ExprEvalStep::func, FunctionCallInfoBaseData::isnull, pgstat_end_function_usage(), pgstat_init_function_usage(), ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalFuncExprStrictFusage | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2331 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, generate_unaccent_rules::args, ExprEvalStep::d, ExprEvalStep::func, FunctionCallInfoBaseData::isnull, pgstat_end_function_usage(), pgstat_init_function_usage(), ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalGroupingFunc | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3851 of file execExprInterp.c.
References attnum, bms_is_member(), ExprEvalStep::d, ExprEvalStep::grouping_func, Int32GetDatum, lfirst_int, ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalMinMax | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2908 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, Assert, ExprEvalStep::d, DatumGetInt32, FunctionCallInvoke, IS_GREATEST, IS_LEAST, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, ExprEvalStep::minmax, ExprEvalStep::resnull, ExprEvalStep::resvalue, NullableDatum::value, and values.
Referenced by ExecInterpExpr().
void ExecEvalNextValueExpr | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2510 of file execExprInterp.c.
References ExprEvalStep::d, elog, ERROR, Int16GetDatum, Int32GetDatum, Int64GetDatum(), newval, nextval_internal(), ExprEvalStep::nextvalueexpr, ExprEvalStep::resnull, and ExprEvalStep::resvalue.
Referenced by ExecInterpExpr().
void ExecEvalParamExec | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2368 of file execExprInterp.c.
References Assert, ExprEvalStep::d, ExprContext::ecxt_param_exec_vals, ParamExecData::execPlan, ExecSetParamPlan(), ParamExecData::isnull, ExprEvalStep::param, ExprEvalStep::resnull, ExprEvalStep::resvalue, unlikely, and ParamExecData::value.
Referenced by ExecInterpExpr().
void ExecEvalParamExtern | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2390 of file execExprInterp.c.
References ExprEvalStep::d, ExprContext::ecxt_param_list_info, ereport, errcode(), errmsg(), ERROR, format_type_be(), ParamExternData::isnull, likely, OidIsValid, ExprEvalStep::param, ParamListInfoData::paramFetch, ParamListInfoData::params, ParamExternData::ptype, ExprEvalStep::resnull, ExprEvalStep::resvalue, unlikely, and ParamExternData::value.
Referenced by ExecInterpExpr().
void ExecEvalRow | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2888 of file execExprInterp.c.
References ExprEvalStep::d, heap_form_tuple(), HeapTupleGetDatum, ExprEvalStep::resnull, ExprEvalStep::resvalue, and ExprEvalStep::row.
Referenced by ExecInterpExpr().
void ExecEvalRowNotNull | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2545 of file execExprInterp.c.
References ExecEvalRowNullInt().
Referenced by ExecInterpExpr().
void ExecEvalRowNull | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 2536 of file execExprInterp.c.
References ExecEvalRowNullInt().
Referenced by ExecInterpExpr().
void ExecEvalScalarArrayOp | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3446 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ARR_DATA_PTR, ARR_DIMS, ARR_ELEMTYPE, ARR_NDIM, ARR_NULLBITMAP, ArrayGetNItems(), att_addlength_pointer, att_align_nominal, BoolGetDatum, ExprEvalStep::d, DatumGetArrayTypeP, DatumGetBool, fetch_att, get_typlenbyvalalign(), i, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::scalararrayop, typalign, and NullableDatum::value.
Referenced by ExecInterpExpr().
void ExecEvalSQLValueFunction | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2432 of file execExprInterp.c.
References current_database(), current_schema(), current_user(), ExprEvalStep::d, DateADTGetDatum, GetSQLCurrentDate(), GetSQLCurrentTime(), GetSQLCurrentTimestamp(), GetSQLLocalTime(), GetSQLLocalTimestamp(), InitFunctionCallInfoData, InvalidOid, LOCAL_FCINFO, SQLValueFunction::op, ExprEvalStep::resnull, ExprEvalStep::resvalue, session_user(), ExprEvalStep::sqlvaluefunction, SVFOP_CURRENT_CATALOG, SVFOP_CURRENT_DATE, SVFOP_CURRENT_ROLE, SVFOP_CURRENT_SCHEMA, SVFOP_CURRENT_TIME, SVFOP_CURRENT_TIME_N, SVFOP_CURRENT_TIMESTAMP, SVFOP_CURRENT_TIMESTAMP_N, SVFOP_CURRENT_USER, SVFOP_LOCALTIME, SVFOP_LOCALTIME_N, SVFOP_LOCALTIMESTAMP, SVFOP_LOCALTIMESTAMP_N, SVFOP_SESSION_USER, SVFOP_USER, TimeADTGetDatum, TimestampGetDatum, TimestampTzGetDatum, TimeTzADTPGetDatum, and SQLValueFunction::typmod.
Referenced by ExecInterpExpr().
ExprEvalOp ExecEvalStepOp | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 2280 of file execExprInterp.c.
References Assert, EEO_FLAG_DIRECT_THREADED, EEOP_LAST, ExprState::flags, sort-test::key, and ExprEvalStep::opcode.
Referenced by CheckExprStillValid(), and llvm_compile_expr().
void ExecEvalSubPlan | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 3875 of file execExprInterp.c.
References check_stack_depth(), ExprEvalStep::d, ExecSubPlan(), ExprEvalStep::resnull, ExprEvalStep::resvalue, and ExprEvalStep::subplan.
Referenced by ExecInterpExpr().
bool ExecEvalSubscriptingRef | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3159 of file execExprInterp.c.
References ExprEvalStep::d, DatumGetInt32, ereport, errcode(), errmsg(), ERROR, SubscriptingRefState::isassignment, SubscriptingRefState::lowerindex, ExprEvalStep::resnull, ExprEvalStep::sbsref_subscript, SubscriptingRefState::subscriptnull, SubscriptingRefState::subscriptvalue, and SubscriptingRefState::upperindex.
Referenced by ExecInterpExpr().
void ExecEvalSubscriptingRefAssign | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3283 of file execExprInterp.c.
References array_set_element(), array_set_slice(), construct_empty_array(), ExprEvalStep::d, SubscriptingRefState::lowerindex, SubscriptingRefState::lowerprovided, SubscriptingRefState::numlower, SubscriptingRefState::numupper, PointerGetDatum, SubscriptingRefState::refattrlength, SubscriptingRefState::refelemalign, SubscriptingRefState::refelembyval, SubscriptingRefState::refelemlength, SubscriptingRefState::refelemtype, SubscriptingRefState::replacenull, SubscriptingRefState::replacevalue, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref_subscript, SubscriptingRefState::upperindex, and SubscriptingRefState::upperprovided.
Referenced by ExecInterpExpr().
void ExecEvalSubscriptingRefFetch | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3194 of file execExprInterp.c.
References array_get_element(), array_get_slice(), Assert, ExprEvalStep::d, SubscriptingRefState::lowerindex, SubscriptingRefState::lowerprovided, SubscriptingRefState::numlower, SubscriptingRefState::numupper, SubscriptingRefState::refattrlength, SubscriptingRefState::refelemalign, SubscriptingRefState::refelembyval, SubscriptingRefState::refelemlength, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, SubscriptingRefState::upperindex, and SubscriptingRefState::upperprovided.
Referenced by ExecInterpExpr().
void ExecEvalSubscriptingRefOld | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3236 of file execExprInterp.c.
References array_get_element(), array_get_slice(), ExprEvalStep::d, SubscriptingRefState::lowerindex, SubscriptingRefState::lowerprovided, SubscriptingRefState::numlower, SubscriptingRefState::numupper, SubscriptingRefState::prevnull, SubscriptingRefState::prevvalue, SubscriptingRefState::refattrlength, SubscriptingRefState::refelemalign, SubscriptingRefState::refelembyval, SubscriptingRefState::refelemlength, ExprEvalStep::resnull, ExprEvalStep::resvalue, ExprEvalStep::sbsref, SubscriptingRefState::upperindex, and SubscriptingRefState::upperprovided.
Referenced by ExecInterpExpr().
void ExecEvalSysVar | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext, | ||
TupleTableSlot * | slot | ||
) |
Definition at line 4137 of file execExprInterp.c.
References ExprEvalStep::d, elog, ERROR, ExprEvalStep::resnull, ExprEvalStep::resvalue, slot_getsysattr(), unlikely, and ExprEvalStep::var.
Referenced by ExecInterpExpr().
void ExecEvalWholeRowVar | ( | ExprState * | state, |
ExprEvalStep * | op, | ||
ExprContext * | econtext | ||
) |
Definition at line 3906 of file execExprInterp.c.
References Assert, BlessTupleDesc(), Alias::colnames, CreateTupleDescCopy(), ExprEvalStep::d, ExprContext::ecxt_estate, ExprContext::ecxt_innertuple, ExprContext::ecxt_outertuple, ExprContext::ecxt_per_query_memory, ExprContext::ecxt_scantuple, RangeTblEntry::eref, ereport, errcode(), errdetail(), errdetail_plural(), errmsg(), ERROR, EState::es_range_table_size, exec_rt_fetch(), ExecFilterJunk(), ExecTypeSetColNames(), format_type_be(), HeapTupleHeaderSetTypeId, HeapTupleHeaderSetTypMod, i, INNER_VAR, InvalidAttrNumber, lookup_rowtype_tupdesc_domain(), MemoryContextSwitchTo(), TupleDescData::natts, OUTER_VAR, PointerGetDatum, ReleaseTupleDesc, ExprEvalStep::resnull, ExprEvalStep::resvalue, slot_getallattrs(), HeapTupleData::t_data, toast_build_flattened_tuple(), TupleTableSlot::tts_isnull, TupleTableSlot::tts_tupleDescriptor, TupleTableSlot::tts_values, TupleDescAttr, Var::varattno, Var::varno, Var::vartype, and ExprEvalStep::wholerow.
Referenced by ExecInterpExpr().
void ExecEvalXmlExpr | ( | ExprState * | state, |
ExprEvalStep * | op | ||
) |
Definition at line 3631 of file execExprInterp.c.
References appendStringInfo(), arg, XmlExpr::arg_names, XmlExpr::args, Assert, BoolGetDatum, buf, cstring_to_text_with_len(), ExprEvalStep::d, StringInfoData::data, DatumGetBool, DatumGetInt32, DatumGetPointer, DatumGetTextPP, DatumGetXmlP, elog, ERROR, exprType(), forboth, i, initStringInfo(), IS_DOCUMENT, IS_XMLCONCAT, IS_XMLELEMENT, IS_XMLFOREST, IS_XMLPARSE, IS_XMLPI, IS_XMLROOT, IS_XMLSERIALIZE, lappend(), StringInfoData::len, lfirst, list_length(), map_sql_value_to_xml_value(), XmlExpr::name, XmlExpr::named_args, NIL, XmlExpr::op, pfree(), PointerGetDatum, ExprEvalStep::resnull, ExprEvalStep::resvalue, strVal, value, values, xml_is_document(), xmlconcat(), xmlelement(), ExprEvalStep::xmlexpr, XmlExpr::xmloption, xmlparse(), xmlpi(), xmlroot(), and xmltotext_with_xmloption().
Referenced by ExecInterpExpr().
Datum ExecInterpExprStillValid | ( | ExprState * | state, |
ExprContext * | econtext, | ||
bool * | isNull | ||
) |
Definition at line 1797 of file execExprInterp.c.
References CheckExprStillValid(), ExprState::evalfunc, and ExprState::evalfunc_private.
Referenced by ExecReadyInterpretedExpr().
void ExecReadyInterpretedExpr | ( | ExprState * | state | ) |
Definition at line 174 of file execExprInterp.c.
References Assert, ExprEvalStep::casetest, ExprEvalStep::d, EEO_FLAG_DIRECT_THREADED, EEO_FLAG_INTERPRETER_INITIALIZED, EEO_OPCODE, EEOP_ASSIGN_INNER_VAR, EEOP_ASSIGN_OUTER_VAR, EEOP_ASSIGN_SCAN_VAR, EEOP_CASE_TESTVAL, EEOP_CONST, EEOP_DONE, EEOP_FUNCEXPR_STRICT, EEOP_INNER_FETCHSOME, EEOP_INNER_VAR, EEOP_OUTER_FETCHSOME, EEOP_OUTER_VAR, EEOP_SCAN_FETCHSOME, EEOP_SCAN_VAR, ExprState::evalfunc, ExprState::evalfunc_private, ExecInitInterpreter(), ExecInterpExpr(), ExecInterpExprStillValid(), ExecJustApplyFuncToCase(), ExecJustAssignInnerVar(), ExecJustAssignInnerVarVirt(), ExecJustAssignOuterVar(), ExecJustAssignOuterVarVirt(), ExecJustAssignScanVar(), ExecJustAssignScanVarVirt(), ExecJustConst(), ExecJustInnerVar(), ExecJustInnerVarVirt(), ExecJustOuterVar(), ExecJustOuterVarVirt(), ExecJustScanVar(), ExecJustScanVarVirt(), ExprState::flags, ExprEvalStep::opcode, ExprState::steps, and ExprState::steps_len.
Referenced by ExecReadyExpr().
void ExprEvalPushStep | ( | ExprState * | es, |
const ExprEvalStep * | s | ||
) |
Definition at line 2124 of file execExpr.c.
References palloc(), repalloc(), ExprState::steps, ExprState::steps_alloc, and ExprState::steps_len.
Referenced by ExecBuildAggTrans(), ExecBuildAggTransCall(), ExecBuildGroupingEqual(), ExecBuildProjectionInfo(), ExecInitCoerceToDomain(), ExecInitExpr(), ExecInitExprRec(), ExecInitExprWithParams(), ExecInitQual(), ExecInitSubscriptingRef(), ExecPushExprSlots(), and plpgsql_param_compile().