|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/heaptoast.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/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 126 of file execExprInterp.c.
Definition at line 137 of file execExprInterp.c.
| #define EEO_NEXT | ( | ) |
Definition at line 131 of file execExprInterp.c.
| #define EEO_OPCODE | ( | opcode | ) | (opcode) |
Definition at line 127 of file execExprInterp.c.
| #define EEO_SWITCH | ( | ) | starteval: switch ((ExprEvalOp) op->opcode) |
Definition at line 124 of file execExprInterp.c.
| #define SH_DECLARE |
Definition at line 206 of file execExprInterp.c.
| #define SH_DEFINE |
Definition at line 235 of file execExprInterp.c.
| #define SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
Definition at line 203 of file execExprInterp.c.
| #define SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
Definition at line 203 of file execExprInterp.c.
Definition at line 231 of file execExprInterp.c.
| #define SH_HASH_KEY | ( | tb, | |
| key | |||
| ) | saop_element_hash(tb, key) |
Definition at line 230 of file execExprInterp.c.
| #define SH_KEY key |
Definition at line 229 of file execExprInterp.c.
Definition at line 204 of file execExprInterp.c.
Definition at line 204 of file execExprInterp.c.
Definition at line 202 of file execExprInterp.c.
Definition at line 202 of file execExprInterp.c.
Definition at line 205 of file execExprInterp.c.
Definition at line 205 of file execExprInterp.c.
| #define SH_STORE_HASH |
Definition at line 233 of file execExprInterp.c.
| void CheckExprStillValid | ( | ExprState * | state, |
| ExprContext * | econtext | ||
| ) |
Definition at line 2307 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 2433 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 2378 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 5669 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 5616 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 5868 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 5836 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 5808 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 5822 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 3615 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 3401 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 3135 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 4422 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 4408 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 3928 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 3262 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 3729 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 3854 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 3904 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 2990 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 3011 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 5245 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 4226 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ARR_DATA_PTR, ARR_DIMS, ARR_ELEMTYPE, ARR_NDIM, ARR_NULLBITMAP, ArrayGetNItems(), Assert, att_addlength_pointer, att_align_nominal, 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, ExprEvalStep::typbyval, ExprEvalStep::typlen, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalJsonCoercion | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 5112 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 5192 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 4657 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 4835 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 4735 of file execExprInterp.c.
References BoolGetDatum(), DatumGetJsonbP(), DatumGetTextP, JsonIsPredicate::expr, exprType(), 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 5272 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 3676 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 3273 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 3048 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 3070 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 3113 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 5761 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 5718 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 3656 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 3308 of file execExprInterp.c.
References ExecEvalRowNullInt(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalRowNull | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3299 of file execExprInterp.c.
References ExecEvalRowNullInt(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
|
static |
Definition at line 3315 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 4023 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(), DatumGetArrayTypeP, DatumGetBool(), fb(), fetch_att(), get_typlenbyvalalign(), i, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, nitems, ExprEvalStep::op, typalign, ExprEvalStep::typbyval, ExprEvalStep::typlen, ExprEvalStep::useOr, and NullableDatum::value.
Referenced by ExecInterpExpr().
| void ExecEvalSQLValueFunction | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3195 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 2960 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 5309 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 5585 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 5326 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 4442 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 5037 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 2928 of file execExprInterp.c.
References DatumGetPointer(), EEOP_LAST, ExecInterpExpr(), fb(), i, and qsort.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 460 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 2287 of file execExprInterp.c.
References CheckExprStillValid().
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2631 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 2610 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2744 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2617 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2751 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2624 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2758 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2584 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 2722 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 2669 of file execExprInterp.c.
References ExprEvalStep::isnull, and ExprEvalStep::op.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2832 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustHashVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2859 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustHashVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2767 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 2825 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustHashVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2877 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 2867 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustHashVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2801 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 2839 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 2563 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2701 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2570 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2708 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2577 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2715 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2546 of file execExprInterp.c.
References attnum, CheckOpSlotCompatibility(), ExprEvalStep::isnull, ExprEvalStep::op, and slot_getattr().
Referenced by ExecJustInnerVar(), ExecJustOuterVar(), and ExecJustScanVar().
|
static |
Definition at line 2679 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 242 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 2480 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 5164 of file execExprInterp.c.
References JsonBehavior::btype, fb(), and pstrdup().
Referenced by ExecEvalJsonCoercionFinish().
|
static |
Definition at line 4176 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.
Definition at line 4195 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.