|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/heaptoast.h"#include "access/tupconvert.h"#include "catalog/pg_type.h"#include "commands/sequence.h"#include "executor/execExpr.h"#include "executor/nodeSubplan.h"#include "funcapi.h"#include "miscadmin.h"#include "nodes/miscnodes.h"#include "nodes/nodeFuncs.h"#include "pgstat.h"#include "utils/array.h"#include "utils/builtins.h"#include "utils/date.h"#include "utils/datum.h"#include "utils/expandedrecord.h"#include "utils/json.h"#include "utils/jsonfuncs.h"#include "utils/jsonpath.h"#include "utils/lsyscache.h"#include "utils/memutils.h"#include "utils/timestamp.h"#include "utils/tuplesort.h"#include "utils/typcache.h"#include "utils/xml.h"#include "lib/simplehash.h"
Go to the source code of this file.
Data Structures | |
| struct | ScalarArrayOpExprHashEntry |
| struct | ScalarArrayOpExprHashTable |
Macros | |
| #define | EEO_SWITCH() starteval: switch ((ExprEvalOp) op->opcode) |
| #define | EEO_CASE(name) case name: |
| #define | EEO_DISPATCH() goto starteval |
| #define | EEO_OPCODE(opcode) (opcode) |
| #define | EEO_NEXT() |
| #define | EEO_JUMP(stepno) |
| #define | SH_PREFIX saophash |
| #define | SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
| #define | SH_KEY_TYPE Datum |
| #define | SH_SCOPE static inline |
| #define | SH_DECLARE |
| #define | SH_PREFIX saophash |
| #define | SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
| #define | SH_KEY_TYPE Datum |
| #define | SH_KEY key |
| #define | SH_HASH_KEY(tb, key) saop_element_hash(tb, key) |
| #define | SH_EQUAL(tb, a, b) saop_hash_element_match(tb, a, b) |
| #define | SH_SCOPE static inline |
| #define | SH_STORE_HASH |
| #define | SH_GET_HASH(tb, a) a->hash |
| #define | SH_DEFINE |
Typedefs | |
| typedef struct ScalarArrayOpExprHashEntry | ScalarArrayOpExprHashEntry |
| typedef struct ScalarArrayOpExprHashTable | ScalarArrayOpExprHashTable |
Definition at line 128 of file execExprInterp.c.
Definition at line 139 of file execExprInterp.c.
| #define EEO_NEXT | ( | ) |
Definition at line 133 of file execExprInterp.c.
| #define EEO_OPCODE | ( | opcode | ) | (opcode) |
Definition at line 129 of file execExprInterp.c.
| #define EEO_SWITCH | ( | ) | starteval: switch ((ExprEvalOp) op->opcode) |
Definition at line 126 of file execExprInterp.c.
| #define SH_DECLARE |
Definition at line 208 of file execExprInterp.c.
| #define SH_DEFINE |
Definition at line 237 of file execExprInterp.c.
| #define SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
Definition at line 205 of file execExprInterp.c.
| #define SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
Definition at line 205 of file execExprInterp.c.
Definition at line 233 of file execExprInterp.c.
| #define SH_HASH_KEY | ( | tb, | |
| key | |||
| ) | saop_element_hash(tb, key) |
Definition at line 232 of file execExprInterp.c.
| #define SH_KEY key |
Definition at line 231 of file execExprInterp.c.
Definition at line 206 of file execExprInterp.c.
Definition at line 206 of file execExprInterp.c.
Definition at line 204 of file execExprInterp.c.
Definition at line 204 of file execExprInterp.c.
Definition at line 207 of file execExprInterp.c.
Definition at line 207 of file execExprInterp.c.
| #define SH_STORE_HASH |
Definition at line 235 of file execExprInterp.c.
| void CheckExprStillValid | ( | ExprState * | state, |
| ExprContext * | econtext | ||
| ) |
Definition at line 2309 of file execExprInterp.c.
References attnum, CheckVarSlotCompatibility(), ExprContext::ecxt_innertuple, ExprContext::ecxt_newtuple, ExprContext::ecxt_oldtuple, ExprContext::ecxt_outertuple, ExprContext::ecxt_scantuple, EEOP_INNER_VAR, EEOP_NEW_VAR, EEOP_OLD_VAR, EEOP_OUTER_VAR, EEOP_SCAN_VAR, ExecEvalStepOp(), fb(), i, and ExprEvalStep::op.
Referenced by ExecInterpExprStillValid(), and ExecRunCompiledExpr().
|
static |
Definition at line 2435 of file execExprInterp.c.
References Assert, ExprEvalStep::op, TupleTableSlot::tts_ops, TTSOpsBufferHeapTuple, TTSOpsHeapTuple, and TTSOpsVirtual.
Referenced by ExecInterpExpr(), ExecJustAssignVarImpl(), ExecJustHashInnerVarWithIV(), ExecJustHashOuterVarStrict(), ExecJustHashVarImpl(), and ExecJustVarImpl().
|
static |
Definition at line 2380 of file execExprInterp.c.
References attnum, elog, ereport, errcode(), errdetail(), errmsg, ERROR, fb(), format_type_be(), TupleTableSlot::tts_tupleDescriptor, TupleDescAttr(), and ExprEvalStep::vartype.
Referenced by CheckExprStillValid().
| Datum ExecAggCopyTransValue | ( | AggState * | aggstate, |
| AggStatePerTrans | pertrans, | ||
| Datum | newValue, | ||
| bool | newValueIsNull, | ||
| Datum | oldValue, | ||
| bool | oldValueIsNull | ||
| ) |
Definition at line 5673 of file execExprInterp.c.
References Assert, CurrentMemoryContext, datumCopy(), DatumGetEOHP(), DatumGetPointer(), DatumIsReadWriteExpandedObject, DeleteExpandedObject(), fb(), MemoryContextGetParent(), MemoryContextSwitchTo(), ExprEvalStep::pertrans, pfree(), AggStatePerTransData::transtypeByVal, and AggStatePerTransData::transtypeLen.
Referenced by advance_transition_function(), and ExecAggPlainTransByRef().
| void ExecAggInitGroup | ( | AggState * | aggstate, |
| AggStatePerTrans | pertrans, | ||
| AggStatePerGroup | pergroup, | ||
| ExprContext * | aggcontext | ||
| ) |
Definition at line 5620 of file execExprInterp.c.
References ExprEvalStep::aggcontext, FunctionCallInfoBaseData::args, datumCopy(), ExprContext::ecxt_per_tuple_memory, fb(), MemoryContextSwitchTo(), ExprEvalStep::pertrans, AggStatePerTransData::transfn_fcinfo, AggStatePerTransData::transtypeByVal, AggStatePerTransData::transtypeLen, and NullableDatum::value.
Referenced by ExecInterpExpr().
|
static |
Definition at line 5872 of file execExprInterp.c.
References ExprEvalStep::aggcontext, FunctionCallInfoBaseData::args, DatumGetPointer(), ExecAggCopyTransValue(), fb(), FunctionCallInvoke, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, MemoryContextSwitchTo(), ExprEvalStep::pertrans, ExprEvalStep::setno, AggStatePerTransData::transfn_fcinfo, and NullableDatum::value.
Referenced by ExecInterpExpr().
|
static |
Definition at line 5840 of file execExprInterp.c.
References ExprEvalStep::aggcontext, FunctionCallInfoBaseData::args, fb(), FunctionCallInvoke, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, MemoryContextSwitchTo(), ExprEvalStep::pertrans, ExprEvalStep::setno, AggStatePerTransData::transfn_fcinfo, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalAggOrderedTransDatum | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5812 of file execExprInterp.c.
References ExprEvalStep::op, ExprEvalStep::pertrans, ExprEvalStep::setno, AggStatePerTransData::sortstates, and tuplesort_putdatum().
Referenced by ExecInterpExpr().
| void ExecEvalAggOrderedTransTuple | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5826 of file execExprInterp.c.
References ExecClearTuple(), ExecStoreVirtualTuple(), AggStatePerTransData::numInputs, ExprEvalStep::op, ExprEvalStep::pertrans, ExprEvalStep::setno, AggStatePerTransData::sortslot, AggStatePerTransData::sortstates, TupleTableSlot::tts_nvalid, and tuplesort_puttupleslot().
Referenced by ExecInterpExpr().
| void ExecEvalArrayCoerce | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3617 of file execExprInterp.c.
References ARR_ELEMTYPE, array_map(), DatumGetArrayTypePCopy, fb(), ExprEvalStep::op, and PointerGetDatum().
Referenced by ExecInterpExpr().
| void ExecEvalArrayExpr | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3403 of file execExprInterp.c.
References AllocSizeIsValid, 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(), ArrayCheckBounds(), ArrayGetNItems(), construct_empty_array(), construct_md_array(), ArrayType::dataoffset, DatumGetArrayTypeP, ExprEvalStep::element_type, ArrayType::elemtype, ereport, errcode(), errdetail(), errmsg, ERROR, fb(), format_type_be(), i, MaxAllocSize, MAXDIM, ArrayType::ndim, ExprEvalStep::nelems, nitems, ExprEvalStep::op, palloc(), palloc0(), PointerGetDatum(), and SET_VARSIZE().
Referenced by ExecInterpExpr().
| void ExecEvalCoerceViaIOSafe | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3137 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, Assert, DatumGetCString(), fb(), FunctionCallInvoke, IsA, ExprEvalStep::op, PointerGetDatum(), SOFT_ERROR_OCCURRED, str, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalConstraintCheck | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 4428 of file execExprInterp.c.
References DatumGetBool(), errcode(), errdomainconstraint(), errmsg, errsave, fb(), format_type_be(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalConstraintNotNull | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 4414 of file execExprInterp.c.
References errcode(), errdatatype(), errmsg, errsave, fb(), format_type_be(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalConvertRowtype | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3930 of file execExprInterp.c.
References Assert, convert_tuples_by_name(), DatumGetHeapTupleHeader, DecrTupleDescRefCount(), ExprContext::ecxt_per_query_memory, execute_attr_map_tuple(), fb(), get_cached_rowtype(), heap_copy_tuple_as_datum(), HeapTupleGetDatum(), HeapTupleHeaderGetDatumLength(), HeapTupleHeaderGetTypeId(), IncrTupleDescRefCount(), MemoryContextSwitchTo(), ExprEvalStep::op, and TupleDescData::tdtypeid.
Referenced by ExecInterpExpr().
| void ExecEvalCurrentOfExpr | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3264 of file execExprInterp.c.
References ereport, errcode(), errmsg, ERROR, and fb().
Referenced by ExecInterpExpr().
| void ExecEvalFieldSelect | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3731 of file execExprInterp.c.
References Assert, DatumGetEOHP(), DatumGetHeapTupleHeader, DatumGetPointer(), elog, ER_MAGIC, ExpandedRecordHeader::er_magic, ereport, errcode(), errdetail(), errmsg, ERROR, expanded_record_get_field(), expanded_record_get_tupdesc(), fb(), ExprEvalStep::fieldnum, format_type_be(), get_cached_rowtype(), heap_getattr(), HeapTupleHeaderGetDatumLength(), HeapTupleHeaderGetTypeId(), HeapTupleHeaderGetTypMod(), TupleDescData::natts, ExprEvalStep::op, TupleDescAttr(), and VARATT_IS_EXTERNAL_EXPANDED().
Referenced by ExecInterpExpr().
| void ExecEvalFieldStoreDeForm | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3856 of file execExprInterp.c.
References DatumGetHeapTupleHeader, elog, ERROR, fb(), get_cached_rowtype(), heap_deform_tuple(), HeapTupleHeaderGetDatumLength(), InvalidOid, ItemPointerSetInvalid(), TupleDescData::natts, ExprEvalStep::op, and unlikely.
Referenced by ExecInterpExpr().
| void ExecEvalFieldStoreForm | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3906 of file execExprInterp.c.
References fb(), get_cached_rowtype(), heap_form_tuple(), HeapTupleGetDatum(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalFuncExprFusage | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 2992 of file execExprInterp.c.
References ExprEvalStep::d, fb(), FunctionCallInfoBaseData::isnull, ExprEvalStep::op, pgstat_end_function_usage(), and pgstat_init_function_usage().
Referenced by ExecInterpExpr().
| void ExecEvalFuncExprStrictFusage | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3013 of file execExprInterp.c.
References ExprEvalStep::args, FunctionCallInfoBaseData::args, ExprEvalStep::d, fb(), ExprEvalStep::isnull, FunctionCallInfoBaseData::isnull, ExprEvalStep::nargs, ExprEvalStep::op, pgstat_end_function_usage(), and pgstat_init_function_usage().
Referenced by ExecInterpExpr().
| void ExecEvalGroupingFunc | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 5249 of file execExprInterp.c.
References attnum, bms_is_member(), castNode, fb(), Int32GetDatum(), lfirst_int, and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalHashedScalarArrayOp | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 4230 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ARR_DATA_PTR, ARR_DIMS, ARR_ELEMTYPE, ARR_NDIM, ARR_NULLBITMAP, ArrayGetNItems(), Assert, att_addlength_pointer, att_nominal_alignby, BoolGetDatum(), CurrentMemoryContext, DatumGetArrayTypeP, DatumGetBool(), ExprContext::ecxt_per_query_memory, element(), ExprEvalStep::elements_tab, fb(), fetch_att(), fmgr_info(), fmgr_info_set_expr, get_typlenbyvalalign(), ExprEvalStep::has_nulls, ScalarArrayOpExprHashTable::hash_fcinfo_data, ScalarArrayOpExprHashTable::hash_finfo, ScalarArrayOpExprHashTable::hashtab, i, ExprEvalStep::inclause, InitFunctionCallInfoData, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, MemoryContextSwitchTo(), nitems, ScalarArrayOpExprHashTable::op, ExprEvalStep::op, palloc0(), ExprEvalStep::saop, SizeForFunctionCallInfo, typalign, typalign_to_alignby(), ExprEvalStep::typbyval, ExprEvalStep::typlen, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalJsonCoercion | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5116 of file execExprInterp.c.
References bool_int4(), CStringGetDatum(), DatumGetBool(), DirectFunctionCall1, domain_check_safe(), ExprContext::ecxt_per_query_memory, ExprEvalStep::escontext, fb(), json_populate_type(), jsonb_in(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalJsonCoercionFinish | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 5196 of file execExprInterp.c.
References BoolGetDatum(), DatumGetBool(), ErrorSaveContext::details_wanted, JsonExprState::empty, ereport, errcode(), errdetail(), errmsg, JsonExprState::error, ERROR, ErrorSaveContext::error_data, ErrorSaveContext::error_occurred, JsonExprState::escontext, fb(), GetJsonBehaviorValueString(), ExprEvalStep::jsestate, JsonExprState::jsexpr, ErrorData::message, JsonExpr::on_empty, JsonExpr::on_error, ExprEvalStep::op, SOFT_ERROR_OCCURRED, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalJsonConstructor | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 4663 of file execExprInterp.c.
References JsonConstructorExpr::absent_on_null, JsonConstructorExprState::arg_nulls, JsonConstructorExprState::arg_type_cache, JsonConstructorExprState::arg_types, JsonConstructorExprState::arg_values, JsonConstructorExprState::category, JsonConstructorExprState::constructor, datum_to_json(), datum_to_jsonb(), DatumGetTextP, elog, ERROR, fb(), JsonReturning::format, JsonFormat::format_type, ExprEvalStep::isnull, ExprEvalStep::jcstate, JS_FORMAT_JSONB, JSCTOR_JSON_ARRAY, JSCTOR_JSON_OBJECT, JSCTOR_JSON_PARSE, JSCTOR_JSON_SCALAR, json_build_array_worker(), json_build_object_worker(), json_validate(), jsonb_build_array_worker(), jsonb_build_object_worker(), jsonb_from_text(), JsonConstructorExprState::nargs, ExprEvalStep::op, JsonConstructorExprState::outfuncid, JsonConstructorExpr::returning, JsonConstructorExpr::unique, and value.
Referenced by ExecInterpExpr().
| int ExecEvalJsonExprPath | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 4839 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, JsonExprState::args, Assert, BoolGetDatum(), JsonBehavior::btype, JsonExpr::column_name, CStringGetDatum(), DatumGetCString(), DatumGetJsonPathP(), DatumGetPointer(), ErrorSaveContext::details_wanted, DirectFunctionCall1, elog, JsonExprState::empty, ereport, errcode(), errmsg, JsonExprState::error, ERROR, error(), ErrorSaveContext::error_data, ErrorSaveContext::error_occurred, JsonExprState::escontext, ExecGetJsonValueItemString(), fb(), JsonExprState::formatted_expr, FunctionCallInvoke, JsonExprState::input_fcinfo, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, ExprEvalStep::jsestate, JsonExprState::jsexpr, JSON_BEHAVIOR_ERROR, JSON_EXISTS_OP, JSON_QUERY_OP, JSON_VALUE_OP, jsonb_out(), JsonbPGetDatum(), JsonbValueToJsonb(), JsonPathExists(), JsonPathQuery(), JsonPathValue(), JsonExprState::jump_empty, JsonExprState::jump_end, JsonExprState::jump_error, JsonExprState::jump_eval_coercion, JsonExpr::on_empty, JsonExpr::on_error, ExprEvalStep::op, JsonExpr::op, JsonExprState::pathspec, PointerGetDatum(), JsonExpr::returning, SOFT_ERROR_OCCURRED, textin(), JsonReturning::typid, JsonExpr::use_io_coercion, JsonExpr::use_json_coercion, val_string, NullableDatum::value, and JsonExpr::wrapper.
Referenced by ExecInterpExpr().
| void ExecEvalJsonIsPredicate | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 4741 of file execExprInterp.c.
References BoolGetDatum(), DatumGetJsonbP(), DatumGetTextP, JsonIsPredicate::exprBaseType, fb(), JsonIsPredicate::item_type, JB_ROOT_IS_ARRAY, JB_ROOT_IS_OBJECT, JB_ROOT_IS_SCALAR, JS_TYPE_ANY, JS_TYPE_ARRAY, JS_TYPE_OBJECT, JS_TYPE_SCALAR, json_get_first_token(), JSON_TOKEN_ARRAY_START, JSON_TOKEN_FALSE, JSON_TOKEN_NULL, JSON_TOKEN_NUMBER, JSON_TOKEN_OBJECT_START, JSON_TOKEN_STRING, JSON_TOKEN_TRUE, json_validate(), ExprEvalStep::op, ExprEvalStep::pred, and JsonIsPredicate::unique_keys.
Referenced by ExecInterpExpr().
| void ExecEvalMergeSupportFunc | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5276 of file execExprInterp.c.
References castNode, CMD_DELETE, CMD_INSERT, CMD_NOTHING, CMD_UPDATE, cstring_to_text_with_len(), elog, ERROR, fb(), ModifyTableState::mt_merge_action, ExprEvalStep::op, and PointerGetDatum().
Referenced by ExecInterpExpr().
| void ExecEvalMinMax | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3678 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, Assert, DatumGetInt32(), fb(), FunctionCallInvoke, IS_GREATEST, IS_LEAST, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, ExprEvalStep::nulls, ExprEvalStep::op, NullableDatum::value, and values.
Referenced by ExecInterpExpr().
| void ExecEvalNextValueExpr | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3275 of file execExprInterp.c.
References elog, ERROR, fb(), Int16GetDatum(), Int32GetDatum(), Int64GetDatum(), newval, nextval_internal(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalParamExec | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3050 of file execExprInterp.c.
References Assert, ExprContext::ecxt_param_exec_vals, ExecSetParamPlan(), fb(), ExprEvalStep::op, and unlikely.
Referenced by ExecInterpExpr().
| void ExecEvalParamExtern | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3072 of file execExprInterp.c.
References ExprContext::ecxt_param_list_info, ereport, errcode(), errmsg, ERROR, fb(), format_type_be(), likely, OidIsValid, ExprEvalStep::op, and unlikely.
Referenced by ExecInterpExpr().
| void ExecEvalParamSet | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3115 of file execExprInterp.c.
References Assert, ExprContext::ecxt_param_exec_vals, fb(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| bool ExecEvalPreOrderedDistinctMulti | ( | AggState * | aggstate, |
| AggStatePerTrans | pertrans | ||
| ) |
Definition at line 5765 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ExprContext::ecxt_innertuple, ExprContext::ecxt_outertuple, AggStatePerTransData::equalfnMulti, ExecClearTuple(), ExecCopySlot(), ExecQual(), ExecStoreVirtualTuple(), fb(), AggStatePerTransData::haslast, i, NullableDatum::isnull, AggStatePerTransData::numInputs, AggStatePerTransData::numTransInputs, ExprEvalStep::pertrans, AggStatePerTransData::sortslot, AggStatePerTransData::transfn_fcinfo, TupleTableSlot::tts_isnull, TupleTableSlot::tts_nvalid, TupleTableSlot::tts_values, AggStatePerTransData::uniqslot, and NullableDatum::value.
Referenced by ExecInterpExpr().
| bool ExecEvalPreOrderedDistinctSingle | ( | AggState * | aggstate, |
| AggStatePerTrans | pertrans | ||
| ) |
Definition at line 5722 of file execExprInterp.c.
References AggStatePerTransData::aggCollation, FunctionCallInfoBaseData::args, datumCopy(), DatumGetBool(), DatumGetPointer(), AggStatePerTransData::equalfnOne, fb(), FunctionCall2Coll(), AggStatePerTransData::haslast, AggStatePerTransData::inputtypeByVal, AggStatePerTransData::inputtypeLen, ExprEvalStep::isnull, NullableDatum::isnull, AggStatePerTransData::lastdatum, AggStatePerTransData::lastisnull, MemoryContextSwitchTo(), ExprEvalStep::pertrans, pfree(), AggStatePerTransData::transfn_fcinfo, NullableDatum::value, and value.
Referenced by ExecInterpExpr().
| void ExecEvalRow | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3658 of file execExprInterp.c.
References heap_form_tuple(), HeapTupleGetDatum(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalRowNotNull | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3310 of file execExprInterp.c.
References ExecEvalRowNullInt(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalRowNull | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3301 of file execExprInterp.c.
References ExecEvalRowNullInt(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
|
static |
Definition at line 3317 of file execExprInterp.c.
References BoolGetDatum(), DatumGetHeapTupleHeader, fb(), get_cached_rowtype(), heap_attisnull(), HeapTupleHeaderGetDatumLength(), HeapTupleHeaderGetTypeId(), HeapTupleHeaderGetTypMod(), ExprEvalStep::isnull, TupleDescData::natts, ExprEvalStep::op, TupleDescCompactAttr(), and value.
Referenced by ExecEvalRowNotNull(), and ExecEvalRowNull().
| void ExecEvalScalarArrayOp | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 4025 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ARR_DATA_PTR, ARR_DIMS, ARR_ELEMTYPE, ARR_NDIM, ARR_NULLBITMAP, ArrayGetNItems(), att_addlength_pointer, att_nominal_alignby, BoolGetDatum(), DatumGetArrayTypeP, DatumGetBool(), fb(), fetch_att(), get_typlenbyvalalign(), i, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, nitems, ExprEvalStep::op, typalign, typalign_to_alignby(), ExprEvalStep::typbyval, ExprEvalStep::typlen, ExprEvalStep::useOr, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalSQLValueFunction | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3197 of file execExprInterp.c.
References current_database(), current_schema(), current_user(), DateADTGetDatum(), fb(), GetSQLCurrentDate(), GetSQLCurrentTime(), GetSQLCurrentTimestamp(), GetSQLLocalTime(), GetSQLLocalTimestamp(), InitFunctionCallInfoData, InvalidOid, LOCAL_FCINFO, ExprEvalStep::op, SQLValueFunction::op, session_user(), ExprEvalStep::svf, 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 2962 of file execExprInterp.c.
References Assert, EEO_FLAG_DIRECT_THREADED, EEOP_LAST, fb(), and ExprEvalStep::op.
Referenced by CheckExprStillValid(), and llvm_compile_expr().
| void ExecEvalSubPlan | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5313 of file execExprInterp.c.
References check_stack_depth(), ExecSubPlan(), ExprEvalStep::op, ExprEvalStep::sstate, and SubPlanState::subplan.
Referenced by ExecInterpExpr().
| void ExecEvalSysVar | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext, | ||
| TupleTableSlot * | slot | ||
| ) |
Definition at line 5589 of file execExprInterp.c.
References ExprEvalStep::d, EEO_FLAG_NEW_IS_NULL, EEO_FLAG_OLD_IS_NULL, elog, ERROR, ExprEvalStep::op, slot_getsysattr(), unlikely, VAR_RETURNING_NEW, and VAR_RETURNING_OLD.
Referenced by ExecInterpExpr().
| void ExecEvalWholeRowVar | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5330 of file execExprInterp.c.
References Assert, BlessTupleDesc(), CreateTupleDescCopy(), ExprContext::ecxt_estate, ExprContext::ecxt_innertuple, ExprContext::ecxt_newtuple, ExprContext::ecxt_oldtuple, ExprContext::ecxt_outertuple, ExprContext::ecxt_per_query_memory, ExprContext::ecxt_scantuple, EEO_FLAG_NEW_IS_NULL, EEO_FLAG_OLD_IS_NULL, ereport, errcode(), errdetail(), errdetail_plural(), errmsg, ERROR, EState::es_range_table_size, exec_rt_fetch(), ExecFilterJunk(), ExecTypeSetColNames(), fb(), format_type_be(), HeapTupleHeaderSetTypeId(), HeapTupleHeaderSetTypMod(), i, INNER_VAR, InvalidAttrNumber, lookup_rowtype_tupdesc_domain(), MemoryContextSwitchTo(), ExprEvalStep::op, OUTER_VAR, PointerGetDatum(), ReleaseTupleDesc, slot_getallattrs(), HeapTupleData::t_data, toast_build_flattened_tuple(), TupleTableSlot::tts_isnull, TupleTableSlot::tts_tupleDescriptor, TupleTableSlot::tts_values, TupleDescAttr(), TupleDescCompactAttr(), VAR_RETURNING_DEFAULT, VAR_RETURNING_NEW, and VAR_RETURNING_OLD.
Referenced by ExecInterpExpr().
| void ExecEvalXmlExpr | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 4448 of file execExprInterp.c.
References appendStringInfo(), arg, ExprEvalStep::argnull, XmlExpr::args, ExprEvalStep::argvalue, Assert, BoolGetDatum(), buf, cstring_to_text_with_len(), data, DatumGetBool(), DatumGetInt32(), DatumGetPointer(), DatumGetTextPP, DatumGetXmlP(), elog, ERROR, exprType(), fb(), forboth, i, XmlExpr::indent, initStringInfo(), IS_DOCUMENT, IS_XMLCONCAT, IS_XMLELEMENT, IS_XMLFOREST, IS_XMLPARSE, IS_XMLPI, IS_XMLROOT, IS_XMLSERIALIZE, ExprEvalStep::isnull, lappend(), lfirst, list_length(), map_sql_value_to_xml_value(), XmlExpr::named_args, NIL, ExprEvalStep::op, XmlExpr::op, pfree(), PointerGetDatum(), strVal, value, values, ExprEvalStep::xexpr, xml_is_document(), xmlconcat(), xmlelement(), xmlparse(), xmlpi(), xmlroot(), and xmltotext_with_options().
Referenced by ExecInterpExpr().
|
static |
Definition at line 5041 of file execExprInterp.c.
References Assert, BoolGetDatum(), boolout(), date_out(), DatumGetCString(), DirectFunctionCall1, elog, ERROR, fb(), jbvArray, jbvBinary, jbvBool, jbvDatetime, jbvNull, jbvNumeric, jbvObject, jbvString, jsonb_out(), JsonbPGetDatum(), JsonbValueToJsonb(), numeric_out(), NumericGetDatum(), palloc(), ExprEvalStep::resnull, str, time_out(), timestamp_out(), timestamptz_out(), timetz_out(), JsonbValue::type, and JsonbValue::val.
Referenced by ExecEvalJsonExprPath().
Definition at line 2930 of file execExprInterp.c.
References DatumGetPointer(), EEOP_LAST, ExecInterpExpr(), fb(), i, and qsort.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 462 of file execExprInterp.c.
References ExprEvalStep::aggno, ExprEvalStep::args, FunctionCallInfoBaseData::args, Assert, attnum, BoolGetDatum(), ExprContext::caseValue_datum, ExprContext::caseValue_isNull, castNode, CheckOpSlotCompatibility(), ExprEvalStep::cmptype, COMPARE_GE, COMPARE_GT, COMPARE_LE, COMPARE_LT, ExprEvalStep::d, DatumGetBool(), DatumGetCString(), DatumGetInt32(), DatumGetUInt32(), ExprContext::domainValue_datum, ExprContext::domainValue_isNull, ExprContext::ecxt_aggnulls, ExprContext::ecxt_aggvalues, ExprContext::ecxt_innertuple, ExprContext::ecxt_newtuple, ExprContext::ecxt_oldtuple, ExprContext::ecxt_outertuple, ExprContext::ecxt_scantuple, EEO_CASE, EEO_DISPATCH, EEO_JUMP, EEO_NEXT, EEO_SWITCH, EEOP_AGG_DESERIALIZE, EEOP_AGG_ORDERED_TRANS_DATUM, EEOP_AGG_ORDERED_TRANS_TUPLE, EEOP_AGG_PLAIN_PERGROUP_NULLCHECK, EEOP_AGG_PLAIN_TRANS_BYREF, EEOP_AGG_PLAIN_TRANS_BYVAL, EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYREF, EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYVAL, EEOP_AGG_PLAIN_TRANS_STRICT_BYREF, EEOP_AGG_PLAIN_TRANS_STRICT_BYVAL, EEOP_AGG_PRESORTED_DISTINCT_MULTI, EEOP_AGG_PRESORTED_DISTINCT_SINGLE, EEOP_AGG_STRICT_DESERIALIZE, EEOP_AGG_STRICT_INPUT_CHECK_ARGS, EEOP_AGG_STRICT_INPUT_CHECK_ARGS_1, EEOP_AGG_STRICT_INPUT_CHECK_NULLS, EEOP_AGGREF, EEOP_ARRAYCOERCE, EEOP_ARRAYEXPR, EEOP_ASSIGN_INNER_VAR, EEOP_ASSIGN_NEW_VAR, EEOP_ASSIGN_OLD_VAR, EEOP_ASSIGN_OUTER_VAR, EEOP_ASSIGN_SCAN_VAR, EEOP_ASSIGN_TMP, EEOP_ASSIGN_TMP_MAKE_RO, EEOP_BOOL_AND_STEP, EEOP_BOOL_AND_STEP_FIRST, EEOP_BOOL_AND_STEP_LAST, EEOP_BOOL_NOT_STEP, EEOP_BOOL_OR_STEP, EEOP_BOOL_OR_STEP_FIRST, EEOP_BOOL_OR_STEP_LAST, EEOP_BOOLTEST_IS_FALSE, EEOP_BOOLTEST_IS_NOT_FALSE, EEOP_BOOLTEST_IS_NOT_TRUE, EEOP_BOOLTEST_IS_TRUE, EEOP_CASE_TESTVAL, EEOP_CASE_TESTVAL_EXT, EEOP_CONST, EEOP_CONVERT_ROWTYPE, EEOP_CURRENTOFEXPR, EEOP_DISTINCT, EEOP_DOMAIN_CHECK, EEOP_DOMAIN_NOTNULL, EEOP_DOMAIN_TESTVAL, EEOP_DOMAIN_TESTVAL_EXT, EEOP_DONE_NO_RETURN, EEOP_DONE_RETURN, EEOP_FIELDSELECT, EEOP_FIELDSTORE_DEFORM, EEOP_FIELDSTORE_FORM, EEOP_FUNCEXPR, EEOP_FUNCEXPR_FUSAGE, EEOP_FUNCEXPR_STRICT, EEOP_FUNCEXPR_STRICT_1, EEOP_FUNCEXPR_STRICT_2, EEOP_FUNCEXPR_STRICT_FUSAGE, EEOP_GROUPING_FUNC, EEOP_HASHDATUM_FIRST, EEOP_HASHDATUM_FIRST_STRICT, EEOP_HASHDATUM_NEXT32, EEOP_HASHDATUM_NEXT32_STRICT, EEOP_HASHDATUM_SET_INITVAL, EEOP_HASHED_SCALARARRAYOP, EEOP_INNER_FETCHSOME, EEOP_INNER_SYSVAR, EEOP_INNER_VAR, EEOP_IOCOERCE, EEOP_IOCOERCE_SAFE, EEOP_IS_JSON, EEOP_JSON_CONSTRUCTOR, EEOP_JSONEXPR_COERCION, EEOP_JSONEXPR_COERCION_FINISH, EEOP_JSONEXPR_PATH, EEOP_JUMP, EEOP_JUMP_IF_NOT_NULL, EEOP_JUMP_IF_NOT_TRUE, EEOP_JUMP_IF_NULL, EEOP_LAST, EEOP_MAKE_READONLY, EEOP_MERGE_SUPPORT_FUNC, EEOP_MINMAX, EEOP_NEW_FETCHSOME, EEOP_NEW_SYSVAR, EEOP_NEW_VAR, EEOP_NEXTVALUEEXPR, EEOP_NOT_DISTINCT, EEOP_NULLIF, EEOP_NULLTEST_ISNOTNULL, EEOP_NULLTEST_ISNULL, EEOP_NULLTEST_ROWISNOTNULL, EEOP_NULLTEST_ROWISNULL, EEOP_OLD_FETCHSOME, EEOP_OLD_SYSVAR, EEOP_OLD_VAR, EEOP_OUTER_FETCHSOME, EEOP_OUTER_SYSVAR, EEOP_OUTER_VAR, EEOP_PARAM_CALLBACK, EEOP_PARAM_EXEC, EEOP_PARAM_EXTERN, EEOP_PARAM_SET, EEOP_QUAL, EEOP_RETURNINGEXPR, EEOP_ROW, EEOP_ROWCOMPARE_FINAL, EEOP_ROWCOMPARE_STEP, EEOP_SBSREF_ASSIGN, EEOP_SBSREF_FETCH, EEOP_SBSREF_OLD, EEOP_SBSREF_SUBSCRIPTS, EEOP_SCALARARRAYOP, EEOP_SCAN_FETCHSOME, EEOP_SCAN_SYSVAR, EEOP_SCAN_VAR, EEOP_SQLVALUEFUNCTION, EEOP_SUBPLAN, EEOP_WHOLEROW, EEOP_WINDOW_FUNC, EEOP_XMLEXPR, ExecAggInitGroup(), ExecAggPlainTransByRef(), ExecAggPlainTransByVal(), ExecEvalAggOrderedTransDatum(), ExecEvalAggOrderedTransTuple(), ExecEvalArrayCoerce(), ExecEvalArrayExpr(), ExecEvalCoerceViaIOSafe(), ExecEvalConstraintCheck(), ExecEvalConstraintNotNull(), ExecEvalConvertRowtype(), ExecEvalCurrentOfExpr(), ExecEvalFieldSelect(), ExecEvalFieldStoreDeForm(), ExecEvalFieldStoreForm(), ExecEvalFuncExprFusage(), ExecEvalFuncExprStrictFusage(), ExecEvalGroupingFunc(), ExecEvalHashedScalarArrayOp(), ExecEvalJsonCoercion(), ExecEvalJsonCoercionFinish(), ExecEvalJsonConstructor(), ExecEvalJsonExprPath(), ExecEvalJsonIsPredicate(), ExecEvalMergeSupportFunc(), ExecEvalMinMax(), ExecEvalNextValueExpr(), ExecEvalParamExec(), ExecEvalParamExtern(), ExecEvalParamSet(), ExecEvalPreOrderedDistinctMulti(), ExecEvalPreOrderedDistinctSingle(), ExecEvalRow(), ExecEvalRowNotNull(), ExecEvalRowNull(), ExecEvalScalarArrayOp(), ExecEvalSQLValueFunction(), ExecEvalSubPlan(), ExecEvalSysVar(), ExecEvalWholeRowVar(), ExecEvalXmlExpr(), fb(), FunctionCallInvoke, ExprEvalStep::isnull, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, lengthof, likely, MakeExpandedObjectReadOnlyInternal(), MemoryContextSwitchTo(), ExprEvalStep::nargs, ExprEvalStep::nulls, ExprEvalStep::op, ExprEvalStep::pertrans, pg_rotate_left32(), pg_unreachable, PG_USED_FOR_ASSERTS_ONLY, PointerGetDatum(), ExprEvalStep::resultnum, slot_getsomeattrs(), StaticAssertDecl, str, AggStatePerTransData::transtypeByVal, TupleTableSlot::tts_isnull, TupleTableSlot::tts_values, UInt32GetDatum(), unlikely, NullableDatum::value, and WindowFuncExprState::wfuncno.
Referenced by ExecInitInterpreter(), and ExecReadyInterpretedExpr().
| Datum ExecInterpExprStillValid | ( | ExprState * | state, |
| ExprContext * | econtext, | ||
| bool * | isNull | ||
| ) |
Definition at line 2289 of file execExprInterp.c.
References CheckExprStillValid().
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2633 of file execExprInterp.c.
References ExprEvalStep::args, FunctionCallInfoBaseData::args, ExprEvalStep::d, fb(), ExprEvalStep::isnull, FunctionCallInfoBaseData::isnull, ExprEvalStep::nargs, ExprEvalStep::op, and NullableDatum::value.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2612 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2746 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2619 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2753 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2626 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2760 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2586 of file execExprInterp.c.
References Assert, attnum, CheckOpSlotCompatibility(), fb(), ExprEvalStep::op, ExprEvalStep::resultnum, and slot_getattr().
Referenced by ExecJustAssignInnerVar(), ExecJustAssignOuterVar(), and ExecJustAssignScanVar().
|
static |
Definition at line 2724 of file execExprInterp.c.
References Assert, attnum, fb(), ExprEvalStep::op, ExprEvalStep::resultnum, TTS_FIXED, and TTS_IS_VIRTUAL.
Referenced by ExecJustAssignInnerVarVirt(), ExecJustAssignOuterVarVirt(), and ExecJustAssignScanVarVirt().
|
static |
Definition at line 2671 of file execExprInterp.c.
References ExprEvalStep::isnull, and ExprEvalStep::op.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2834 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustHashVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2861 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustHashVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2769 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, attnum, CheckOpSlotCompatibility(), DatumGetUInt32(), ExprContext::ecxt_innertuple, fb(), ExprEvalStep::isnull, NullableDatum::isnull, pg_rotate_left32(), slot_getsomeattrs(), TupleTableSlot::tts_isnull, TupleTableSlot::tts_values, UInt32GetDatum(), and NullableDatum::value.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2827 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustHashVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2879 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, attnum, CheckOpSlotCompatibility(), ExprContext::ecxt_outertuple, fb(), ExprEvalStep::isnull, NullableDatum::isnull, slot_getsomeattrs(), TupleTableSlot::tts_isnull, TupleTableSlot::tts_values, NullableDatum::value, and ExprEvalStep::var.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2869 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustHashVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2803 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, attnum, CheckOpSlotCompatibility(), fb(), ExprEvalStep::isnull, NullableDatum::isnull, slot_getsomeattrs(), TupleTableSlot::tts_isnull, TupleTableSlot::tts_values, NullableDatum::value, and ExprEvalStep::var.
Referenced by ExecJustHashInnerVar(), and ExecJustHashOuterVar().
|
static |
Definition at line 2841 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, attnum, fb(), ExprEvalStep::isnull, NullableDatum::isnull, TupleTableSlot::tts_isnull, TupleTableSlot::tts_values, NullableDatum::value, and ExprEvalStep::var.
Referenced by ExecJustHashInnerVarVirt(), and ExecJustHashOuterVarVirt().
|
static |
Definition at line 2565 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2703 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2572 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2710 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2579 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2717 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2548 of file execExprInterp.c.
References attnum, CheckOpSlotCompatibility(), ExprEvalStep::isnull, ExprEvalStep::op, and slot_getattr().
Referenced by ExecJustInnerVar(), ExecJustOuterVar(), and ExecJustScanVar().
|
static |
Definition at line 2681 of file execExprInterp.c.
References Assert, attnum, fb(), ExprEvalStep::isnull, ExprEvalStep::op, TTS_FIXED, TTS_IS_VIRTUAL, TupleTableSlot::tts_isnull, and TupleTableSlot::tts_values.
Referenced by ExecJustInnerVarVirt(), ExecJustOuterVarVirt(), and ExecJustScanVarVirt().
Definition at line 244 of file execExprInterp.c.
References Assert, 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_NO_RETURN, EEOP_DONE_RETURN, EEOP_FUNCEXPR_STRICT, EEOP_FUNCEXPR_STRICT_1, EEOP_FUNCEXPR_STRICT_2, EEOP_HASHDATUM_FIRST, EEOP_HASHDATUM_FIRST_STRICT, EEOP_HASHDATUM_NEXT32, EEOP_HASHDATUM_SET_INITVAL, EEOP_INNER_FETCHSOME, EEOP_INNER_VAR, EEOP_OUTER_FETCHSOME, EEOP_OUTER_VAR, EEOP_SCAN_FETCHSOME, EEOP_SCAN_VAR, ExecInitInterpreter(), ExecInterpExpr(), ExecInterpExprStillValid(), ExecJustApplyFuncToCase(), ExecJustAssignInnerVar(), ExecJustAssignInnerVarVirt(), ExecJustAssignOuterVar(), ExecJustAssignOuterVarVirt(), ExecJustAssignScanVar(), ExecJustAssignScanVarVirt(), ExecJustConst(), ExecJustHashInnerVar(), ExecJustHashInnerVarVirt(), ExecJustHashInnerVarWithIV(), ExecJustHashOuterVar(), ExecJustHashOuterVarStrict(), ExecJustHashOuterVarVirt(), ExecJustInnerVar(), ExecJustInnerVarVirt(), ExecJustOuterVar(), ExecJustOuterVarVirt(), ExecJustScanVar(), ExecJustScanVarVirt(), fb(), and ExprEvalStep::op.
Referenced by ExecReadyExpr().
|
static |
Definition at line 2482 of file execExprInterp.c.
References ExprEvalRowtypeCache::cacheptr, ereport, errcode(), errmsg, ERROR, fb(), format_type_be(), lookup_rowtype_tupdesc(), lookup_type_cache(), ReleaseTupleDesc, ExprEvalStep::rowcache, TupleDescData::tdtypeid, TupleDescData::tdtypmod, TypeCacheEntry::tupDesc, ExprEvalRowtypeCache::tupdesc_id, TypeCacheEntry::tupDesc_identifier, TYPECACHE_TUPDESC, and unlikely.
Referenced by ExecEvalConvertRowtype(), ExecEvalFieldSelect(), ExecEvalFieldStoreDeForm(), ExecEvalFieldStoreForm(), and ExecEvalRowNullInt().
|
static |
Definition at line 5168 of file execExprInterp.c.
References JsonBehavior::btype, fb(), and pstrdup().
Referenced by ExecEvalJsonCoercionFinish().
|
static |
Definition at line 4180 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, DatumGetUInt32(), ExprEvalStep::elements_tab, fb(), FmgrInfo::fn_addr, hash(), ScalarArrayOpExprHashTable::hash_fcinfo_data, ScalarArrayOpExprHashTable::hash_finfo, NullableDatum::isnull, and NullableDatum::value.
|
static |
Definition at line 4199 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ExprEvalStep::d, DatumGetBool(), ExprEvalStep::elements_tab, fb(), ExprEvalStep::fcinfo_data, ExprEvalStep::finfo, FmgrInfo::fn_addr, ExprEvalStep::hashedscalararrayop, NullableDatum::isnull, ScalarArrayOpExprHashTable::op, and NullableDatum::value.