|
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 216 of file execExprInterp.c.
| #define SH_DEFINE |
Definition at line 245 of file execExprInterp.c.
| #define SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
Definition at line 213 of file execExprInterp.c.
| #define SH_ELEMENT_TYPE ScalarArrayOpExprHashEntry |
Definition at line 213 of file execExprInterp.c.
Definition at line 241 of file execExprInterp.c.
| #define SH_HASH_KEY | ( | tb, | |
| key | |||
| ) | saop_element_hash(tb, key) |
Definition at line 240 of file execExprInterp.c.
| #define SH_KEY key |
Definition at line 239 of file execExprInterp.c.
Definition at line 214 of file execExprInterp.c.
Definition at line 214 of file execExprInterp.c.
Definition at line 212 of file execExprInterp.c.
Definition at line 212 of file execExprInterp.c.
Definition at line 215 of file execExprInterp.c.
Definition at line 215 of file execExprInterp.c.
| #define SH_STORE_HASH |
Definition at line 243 of file execExprInterp.c.
| void CheckExprStillValid | ( | ExprState * | state, |
| ExprContext * | econtext | ||
| ) |
Definition at line 2317 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 2443 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 2388 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 5743 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 5690 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 5942 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 5910 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 5882 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 5896 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 3625 of file execExprInterp.c.
References ARR_ELEMTYPE, array_map(), DatumGetArrayTypePCopy, fb(), ExprEvalStep::op, and PointerGetDatum.
Referenced by ExecInterpExpr().
|
static |
Definition at line 4111 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ARR_DATA_PTR, ARR_DIMS, ARR_NDIM, ARR_NULLBITMAP, ArrayGetNItems(), att_addlength_pointer, att_nominal_alignby, BoolGetDatum(), DatumGetBool(), fb(), fetch_att(), FunctionCallInfoBaseData::flinfo, FmgrInfo::fn_addr, FmgrInfo::fn_strict, i, FunctionCallInfoBaseData::isnull, NullableDatum::isnull, nitems, result, typalign, typalign_to_alignby(), ExprEvalStep::typbyval, ExprEvalStep::typlen, ExprEvalStep::useOr, and NullableDatum::value.
Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().
| void ExecEvalArrayExpr | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3411 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(), DatumGetArrayTypeP, ExprEvalStep::element_type, ArrayType::elemtype, ereport, errcode(), errdetail(), errmsg, ERROR, fb(), format_type_be(), i, MaxAllocSize, MAXDIM, memcpy(), ExprEvalStep::nelems, nitems, ExprEvalStep::op, palloc(), palloc0(), PointerGetDatum, result, and SET_VARSIZE().
Referenced by ExecInterpExpr().
| void ExecEvalCoerceViaIOSafe | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3145 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 4498 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 4484 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 3938 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, result, and TupleDescData::tdtypeid.
Referenced by ExecInterpExpr().
| void ExecEvalCurrentOfExpr | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3272 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 3739 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 3864 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 3914 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 3000 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 3021 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 5319 of file execExprInterp.c.
References attnum, bms_is_member(), castNode, fb(), Int32GetDatum(), lfirst_int, ExprEvalStep::op, and result.
Referenced by ExecInterpExpr().
| void ExecEvalHashedScalarArrayOp | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 4257 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, ExecEvalArrayCompareInternal(), 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, ExprEvalStep::null_lhs_result, ScalarArrayOpExprHashTable::op, ExprEvalStep::op, palloc0(), result, 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 5186 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 5266 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 4733 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 4909 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 4811 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 5346 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 3686 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 3283 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 3058 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 3080 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 3123 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 5835 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 5792 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 3666 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 3318 of file execExprInterp.c.
References ExecEvalRowNullInt(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
| void ExecEvalRowNull | ( | ExprState * | state, |
| ExprEvalStep * | op, | ||
| ExprContext * | econtext | ||
| ) |
Definition at line 3309 of file execExprInterp.c.
References ExecEvalRowNullInt(), and ExprEvalStep::op.
Referenced by ExecInterpExpr().
|
static |
Definition at line 3325 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 4033 of file execExprInterp.c.
References FunctionCallInfoBaseData::args, ARR_DIMS, ARR_ELEMTYPE, ARR_NDIM, ArrayGetNItems(), BoolGetDatum(), DatumGetArrayTypeP, ExecEvalArrayCompareInternal(), fb(), get_typlenbyvalalign(), NullableDatum::isnull, nitems, ExprEvalStep::op, result, and ExprEvalStep::useOr.
Referenced by ExecInterpExpr().
| void ExecEvalSQLValueFunction | ( | ExprState * | state, |
| ExprEvalStep * | op | ||
| ) |
Definition at line 3205 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 2970 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 5383 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 5659 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 5400 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 4518 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, result, strVal, value, values, ExprEvalStep::xexpr, xml_is_document(), xmlconcat(), xmlelement(), xmlparse(), xmlpi(), xmlroot(), and xmltotext_with_options().
Referenced by ExecInterpExpr().
|
static |
Definition at line 5111 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(), memcpy(), 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 2938 of file execExprInterp.c.
References DatumGetPointer(), EEOP_LAST, ExecInterpExpr(), fb(), i, and qsort.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 470 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, result, 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 2297 of file execExprInterp.c.
References CheckExprStillValid().
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2641 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 2620 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2754 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2627 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2761 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2634 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustAssignVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2768 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustAssignVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2594 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 2732 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 2679 of file execExprInterp.c.
References ExprEvalStep::isnull, and ExprEvalStep::op.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2842 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustHashVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2869 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustHashVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2777 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 2835 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustHashVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2887 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 2877 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustHashVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2811 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 2849 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 2573 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2711 of file execExprInterp.c.
References ExprContext::ecxt_innertuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2580 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2718 of file execExprInterp.c.
References ExprContext::ecxt_outertuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2587 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustVarImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2725 of file execExprInterp.c.
References ExprContext::ecxt_scantuple, ExecJustVarVirtImpl(), and ExprEvalStep::isnull.
Referenced by ExecReadyInterpretedExpr().
|
static |
Definition at line 2556 of file execExprInterp.c.
References attnum, CheckOpSlotCompatibility(), ExprEvalStep::isnull, ExprEvalStep::op, and slot_getattr().
Referenced by ExecJustInnerVar(), ExecJustOuterVar(), and ExecJustScanVar().
|
static |
Definition at line 2689 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 252 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 2490 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 5238 of file execExprInterp.c.
References JsonBehavior::btype, fb(), and pstrdup().
Referenced by ExecEvalJsonCoercionFinish().
|
static |
Definition at line 4207 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 4226 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, result, and NullableDatum::value.