PostgreSQL Source Code: ExprEvalStep Struct Reference (original) (raw)

#include <[execExpr.h](execExpr%5F8h%5Fsource.html)>

Data Fields
intptr_t opcode
Datum * resvalue
bool * resnull
union {
struct {
int last_var
bool fixed
TupleDesc known_desc
const TupleTableSlotOps * kind
} fetch
struct {
int attnum
Oid vartype
VarReturningType varreturningtype
} var
struct {
Var * var
bool first
bool slow
TupleDesc tupdesc
JunkFilter * junkFilter
} wholerow
struct {
int resultnum
int attnum
} assign_var
struct {
int resultnum
} assign_tmp
struct {
uint8 nullflag
int jumpdone
} returningexpr
struct {
Datum value
bool isnull
} constval
struct {
FmgrInfo * finfo
FunctionCallInfo fcinfo_data
PGFunction fn_addr
int nargs
bool make_ro
} func
struct {
bool * anynull
int jumpdone
} boolexpr
struct {
int jumpdone
} qualexpr
struct {
int jumpdone
} jump
struct {
ExprEvalRowtypeCache rowcache
} nulltest_row
struct {
int paramid
Oid paramtype
} param
struct {
ExecEvalSubroutine paramfunc
void * paramarg
void * paramarg2
int paramid
Oid paramtype
} cparam
struct {
Datum * value
bool * isnull
} casetest
struct {
Datum * value
bool * isnull
} make_readonly
struct {
FmgrInfo * finfo_out
FunctionCallInfo fcinfo_data_out
FmgrInfo * finfo_in
FunctionCallInfo fcinfo_data_in
} iocoerce
struct {
SQLValueFunction * svf
} sqlvaluefunction
struct {
Oid seqid
Oid seqtypid
} nextvalueexpr
struct {
Datum * elemvalues
bool * elemnulls
int nelems
Oid elemtype
int16 elemlength
bool elembyval
char elemalign
bool multidims
} arrayexpr
struct {
ExprState * elemexprstate
Oid resultelemtype
struct ArrayMapState * amstate
} arraycoerce
struct {
TupleDesc tupdesc
Datum * elemvalues
bool * elemnulls
} row
struct {
FmgrInfo * finfo
FunctionCallInfo fcinfo_data
PGFunction fn_addr
int jumpnull
int jumpdone
} rowcompare_step
struct {
CompareType cmptype
} rowcompare_final
struct {
Datum * values
bool * nulls
int nelems
MinMaxOp op
FmgrInfo * finfo
FunctionCallInfo fcinfo_data
} minmax
struct {
AttrNumber fieldnum
Oid resulttype
ExprEvalRowtypeCache rowcache
} fieldselect
struct {
FieldStore * fstore
ExprEvalRowtypeCache * rowcache
Datum * values
bool * nulls
int ncolumns
} fieldstore
struct {
ExecEvalBoolSubroutine subscriptfunc
struct SubscriptingRefState * state
int jumpdone
} sbsref_subscript
struct {
ExecEvalSubroutine subscriptfunc
struct SubscriptingRefState * state
} sbsref
struct {
char * constraintname
Datum * checkvalue
bool * checknull
Oid resulttype
ErrorSaveContext * escontext
} domaincheck
struct {
Datum init_value
} hashdatum_initvalue
struct {
FmgrInfo * finfo
FunctionCallInfo fcinfo_data
PGFunction fn_addr
int jumpdone
NullableDatum * iresult
} hashdatum
struct {
Oid inputtype
Oid outputtype
ExprEvalRowtypeCache * incache
ExprEvalRowtypeCache * outcache
TupleConversionMap * map
} convert_rowtype
struct {
Oid element_type
bool useOr
int16 typlen
bool typbyval
char typalign
FmgrInfo * finfo
FunctionCallInfo fcinfo_data
PGFunction fn_addr
} scalararrayop
struct {
bool has_nulls
bool inclause
struct ScalarArrayOpExprHashTable * elements_tab
FmgrInfo * finfo
FunctionCallInfo fcinfo_data
ScalarArrayOpExpr * saop
} hashedscalararrayop
struct {
XmlExpr * xexpr
Datum * named_argvalue
bool * named_argnull
Datum * argvalue
bool * argnull
} xmlexpr
struct {
struct JsonConstructorExprState * jcstate
} json_constructor
struct {
int aggno
} aggref
struct {
List * clauses
} grouping_func
struct {
WindowFuncExprState * wfstate
} window_func
struct {
SubPlanState * sstate
} subplan
struct {
FunctionCallInfo fcinfo_data
int jumpnull
} agg_deserialize
struct {
NullableDatum * args
bool * nulls
int nargs
int jumpnull
} agg_strict_input_check
struct {
int setoff
int jumpnull
} agg_plain_pergroup_nullcheck
struct {
AggStatePerTrans pertrans
ExprContext * aggcontext
int jumpdistinct
} agg_presorted_distinctcheck
struct {
AggStatePerTrans pertrans
ExprContext * aggcontext
int setno
int transno
int setoff
} agg_trans
struct {
JsonIsPredicate * pred
} is_json
struct {
struct JsonExprState * jsestate
} jsonexpr
struct {
Oid targettype
int32 targettypmod
bool omit_quotes
bool exists_coerce
bool exists_cast_to_int
bool exists_check_domain
void * json_coercion_cache
ErrorSaveContext * escontext
} jsonexpr_coercion
} d

Definition at line 300 of file execExpr.h.

struct { ... } ExprEvalStep::agg_deserialize

struct { ... } ExprEvalStep::agg_plain_pergroup_nullcheck

struct { ... } ExprEvalStep::agg_presorted_distinctcheck

struct { ... } ExprEvalStep::agg_strict_input_check

struct { ... } ExprEvalStep::agg_trans

aggcontext

aggno

struct { ... } ExprEvalStep::aggref

amstate

anynull

bool* ExprEvalStep::anynull

argnull

bool* ExprEvalStep::argnull

args

argvalue

Datum* ExprEvalStep::argvalue

struct { ... } ExprEvalStep::arraycoerce

struct { ... } ExprEvalStep::arrayexpr

struct { ... } ExprEvalStep::assign_tmp

struct { ... } ExprEvalStep::assign_var

attnum

struct { ... } ExprEvalStep::boolexpr

struct { ... } ExprEvalStep::casetest

checknull

bool* ExprEvalStep::checknull

checkvalue

Datum* ExprEvalStep::checkvalue

clauses

List* ExprEvalStep::clauses

cmptype

constraintname

char* ExprEvalStep::constraintname

struct { ... } ExprEvalStep::constval

struct { ... } ExprEvalStep::convert_rowtype

struct { ... } ExprEvalStep::cparam

union { ... } ExprEvalStep::d

Referenced by array_subscript_assign(), array_subscript_assign_slice(), array_subscript_check_subscripts(), array_subscript_fetch(), array_subscript_fetch_old(), array_subscript_fetch_old_slice(), array_subscript_fetch_slice(), ExecBuildAggTrans(), ExecBuildAggTransCall(), ExecBuildGroupingEqual(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecBuildParamSetEqual(), ExecBuildProjectionInfo(), ExecBuildUpdateProjection(), ExecComputeSlotInfo(), ExecEvalFuncExprFusage(), ExecEvalFuncExprStrictFusage(), ExecEvalSysVar(), ExecInitCoerceToDomain(), ExecInitExprRec(), ExecInitFunc(), ExecInitJsonCoercion(), ExecInitJsonExpr(), ExecInitQual(), ExecInitSubPlanExpr(), ExecInitSubscriptingRef(), ExecInitWholeRowVar(), ExecInterpExpr(), ExecJustApplyFuncToCase(), ExecJustHashInnerVarWithIV(), ExecJustHashOuterVarStrict(), ExecJustHashVarImpl(), ExecJustHashVarVirtImpl(), ExecPushExprSetupSteps(), hstore_subscript_assign(), hstore_subscript_fetch(), jsonb_subscript_assign(), jsonb_subscript_check_subscripts(), jsonb_subscript_fetch(), jsonb_subscript_fetch_old(), plpgsql_param_compile(), plpgsql_param_eval_generic(), plpgsql_param_eval_generic_ro(), plpgsql_param_eval_recfield(), plpgsql_param_eval_var(), plpgsql_param_eval_var_check(), plpgsql_param_eval_var_ro(), plpgsql_param_eval_var_transfer(), and saop_hash_element_match().

struct { ... } ExprEvalStep::domaincheck

elemalign

char ExprEvalStep::elemalign

elembyval

bool ExprEvalStep::elembyval

element_type

Oid ExprEvalStep::element_type

elements_tab

elemexprstate

elemlength

int16 ExprEvalStep::elemlength

elemnulls

bool* ExprEvalStep::elemnulls

elemtype

Oid ExprEvalStep::elemtype

elemvalues

Datum* ExprEvalStep::elemvalues

escontext

exists_cast_to_int

bool ExprEvalStep::exists_cast_to_int

exists_check_domain

bool ExprEvalStep::exists_check_domain

exists_coerce

bool ExprEvalStep::exists_coerce

fcinfo_data

Definition at line 389 of file execExpr.h.

Referenced by ExecBuildAggTrans(), ExecBuildGroupingEqual(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecBuildParamSetEqual(), ExecInitExprRec(), ExecInitFunc(), ExecJustHashInnerVarWithIV(), ExecJustHashOuterVarStrict(), ExecJustHashVarImpl(), ExecJustHashVarVirtImpl(), and saop_hash_element_match().

fcinfo_data_in

fcinfo_data_out

struct { ... } ExprEvalStep::fetch

fieldnum

struct { ... } ExprEvalStep::fieldselect

struct { ... } ExprEvalStep::fieldstore

finfo

finfo_in

finfo_out

first

fixed

fn_addr

fstore

struct { ... } ExprEvalStep::func

struct { ... } ExprEvalStep::grouping_func

has_nulls

bool ExprEvalStep::has_nulls

struct { ... } ExprEvalStep::hashdatum

struct { ... } ExprEvalStep::hashdatum_initvalue

struct { ... } ExprEvalStep::hashedscalararrayop

incache

inclause

bool ExprEvalStep::inclause

init_value

Datum ExprEvalStep::init_value

inputtype

Oid ExprEvalStep::inputtype

struct { ... } ExprEvalStep::iocoerce

iresult

struct { ... } ExprEvalStep::is_json

isnull [1/2]

bool ExprEvalStep::isnull

Definition at line 382 of file execExpr.h.

Referenced by ExecBuildUpdateProjection(), ExecEvalFuncExprStrictFusage(), ExecEvalJsonConstructor(), ExecEvalPreOrderedDistinctSingle(), ExecEvalRowNullInt(), ExecEvalXmlExpr(), ExecInitCoerceToDomain(), ExecInitExprRec(), ExecInitJsonExpr(), ExecInterpExpr(), ExecJustApplyFuncToCase(), ExecJustAssignInnerVar(), ExecJustAssignInnerVarVirt(), ExecJustAssignOuterVar(), ExecJustAssignOuterVarVirt(), ExecJustAssignScanVar(), ExecJustAssignScanVarVirt(), ExecJustConst(), ExecJustHashInnerVar(), ExecJustHashInnerVarVirt(), ExecJustHashInnerVarWithIV(), ExecJustHashOuterVar(), ExecJustHashOuterVarStrict(), ExecJustHashOuterVarVirt(), ExecJustHashVarImpl(), ExecJustHashVarVirtImpl(), ExecJustInnerVar(), ExecJustInnerVarVirt(), ExecJustOuterVar(), ExecJustOuterVarVirt(), ExecJustScanVar(), ExecJustScanVarVirt(), ExecJustVarImpl(), and ExecJustVarVirtImpl().

isnull [2/2]

bool* ExprEvalStep::isnull

jcstate

jsestate

json_coercion_cache

void* ExprEvalStep::json_coercion_cache

struct { ... } ExprEvalStep::json_constructor

struct { ... } ExprEvalStep::jsonexpr

struct { ... } ExprEvalStep::jsonexpr_coercion

struct { ... } ExprEvalStep::jump

jumpdistinct

int ExprEvalStep::jumpdistinct

jumpdone

int ExprEvalStep::jumpdone

jumpnull

int ExprEvalStep::jumpnull

junkFilter

kind

known_desc

last_var

int ExprEvalStep::last_var

struct { ... } ExprEvalStep::make_readonly

make_ro

bool ExprEvalStep::make_ro

map

struct { ... } ExprEvalStep::minmax

multidims

bool ExprEvalStep::multidims

named_argnull

bool* ExprEvalStep::named_argnull

named_argvalue

Datum* ExprEvalStep::named_argvalue

nargs

ncolumns

int ExprEvalStep::ncolumns

nelems

struct { ... } ExprEvalStep::nextvalueexpr

nullflag

uint8 ExprEvalStep::nullflag

nulls

bool* ExprEvalStep::nulls

struct { ... } ExprEvalStep::nulltest_row

omit_quotes

bool ExprEvalStep::omit_quotes

op

Definition at line 534 of file execExpr.h.

Referenced by CheckExprStillValid(), CheckOpSlotCompatibility(), ExecEvalAggOrderedTransDatum(), ExecEvalAggOrderedTransTuple(), ExecEvalArrayCoerce(), ExecEvalArrayExpr(), ExecEvalCoerceViaIOSafe(), ExecEvalConstraintCheck(), ExecEvalConstraintNotNull(), ExecEvalConvertRowtype(), ExecEvalFieldSelect(), ExecEvalFieldStoreDeForm(), ExecEvalFieldStoreForm(), ExecEvalFuncExprFusage(), ExecEvalFuncExprStrictFusage(), ExecEvalGroupingFunc(), ExecEvalHashedScalarArrayOp(), ExecEvalJsonCoercion(), ExecEvalJsonCoercionFinish(), ExecEvalJsonConstructor(), ExecEvalJsonExprPath(), ExecEvalJsonIsPredicate(), ExecEvalMergeSupportFunc(), ExecEvalMinMax(), ExecEvalNextValueExpr(), ExecEvalParamExec(), ExecEvalParamExtern(), ExecEvalParamSet(), ExecEvalRow(), ExecEvalRowNotNull(), ExecEvalRowNull(), ExecEvalRowNullInt(), ExecEvalScalarArrayOp(), ExecEvalSQLValueFunction(), ExecEvalStepOp(), ExecEvalSubPlan(), ExecEvalSysVar(), ExecEvalWholeRowVar(), ExecEvalXmlExpr(), ExecInitExprRec(), ExecInterpExpr(), ExecJustApplyFuncToCase(), ExecJustAssignVarImpl(), ExecJustAssignVarVirtImpl(), ExecJustConst(), ExecJustVarImpl(), ExecJustVarVirtImpl(), and ExecReadyInterpretedExpr().

opcode

intptr_t ExprEvalStep::opcode

Definition at line 307 of file execExpr.h.

Referenced by ExecBuildAggTrans(), ExecBuildAggTransCall(), ExecBuildGroupingEqual(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecBuildParamSetEqual(), ExecBuildProjectionInfo(), ExecBuildUpdateProjection(), ExecComputeSlotInfo(), ExecInitCoerceToDomain(), ExecInitExpr(), ExecInitExprRec(), ExecInitExprWithParams(), ExecInitFunc(), ExecInitJsonCoercion(), ExecInitJsonExpr(), ExecInitQual(), ExecInitSubPlanExpr(), ExecInitSubscriptingRef(), ExecInitWholeRowVar(), ExecPushExprSetupSteps(), and plpgsql_param_compile().

outcache

outputtype

Oid ExprEvalStep::outputtype

struct { ... } ExprEvalStep::param

paramarg

void* ExprEvalStep::paramarg

paramarg2

void* ExprEvalStep::paramarg2

paramfunc

paramid

int ExprEvalStep::paramid

paramtype

Oid ExprEvalStep::paramtype

pertrans

Definition at line 731 of file execExpr.h.

Referenced by ExecAggCopyTransValue(), ExecAggInitGroup(), ExecAggPlainTransByRef(), ExecAggPlainTransByVal(), ExecBuildAggTrans(), ExecBuildAggTransCall(), ExecEvalAggOrderedTransDatum(), ExecEvalAggOrderedTransTuple(), ExecEvalPreOrderedDistinctMulti(), ExecEvalPreOrderedDistinctSingle(), and ExecInterpExpr().

pred

struct { ... } ExprEvalStep::qualexpr

resnull

bool* ExprEvalStep::resnull

Definition at line 311 of file execExpr.h.

Referenced by array_subscript_assign(), array_subscript_assign_slice(), array_subscript_check_subscripts(), array_subscript_fetch(), array_subscript_fetch_old(), array_subscript_fetch_old_slice(), array_subscript_fetch_slice(), ExecBuildAggTrans(), ExecBuildGroupingEqual(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecBuildParamSetEqual(), ExecBuildUpdateProjection(), ExecGetJsonValueItemString(), ExecInitCoerceToDomain(), ExecInitExprRec(), ExecInitJsonCoercion(), ExecInitJsonExpr(), ExecInitQual(), ExecInitSubPlanExpr(), ExecPushExprSetupSteps(), hstore_subscript_assign(), hstore_subscript_fetch(), jsonb_subscript_assign(), jsonb_subscript_check_subscripts(), jsonb_subscript_fetch(), jsonb_subscript_fetch_old(), plpgsql_param_compile(), plpgsql_param_eval_generic(), plpgsql_param_eval_generic_ro(), plpgsql_param_eval_recfield(), plpgsql_param_eval_var(), plpgsql_param_eval_var_check(), plpgsql_param_eval_var_ro(), and plpgsql_param_eval_var_transfer().

resultelemtype

Oid ExprEvalStep::resultelemtype

resultnum

int ExprEvalStep::resultnum

resulttype

Oid ExprEvalStep::resulttype

resvalue

Datum* ExprEvalStep::resvalue

Definition at line 310 of file execExpr.h.

Referenced by array_subscript_assign(), array_subscript_assign_slice(), array_subscript_fetch(), array_subscript_fetch_old(), array_subscript_fetch_old_slice(), array_subscript_fetch_slice(), ExecBuildAggTrans(), ExecBuildGroupingEqual(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecBuildParamSetEqual(), ExecBuildUpdateProjection(), ExecInitCoerceToDomain(), ExecInitExprRec(), ExecInitJsonCoercion(), ExecInitJsonExpr(), ExecInitQual(), ExecInitSubPlanExpr(), ExecPushExprSetupSteps(), hstore_subscript_assign(), hstore_subscript_fetch(), jsonb_subscript_assign(), jsonb_subscript_fetch(), jsonb_subscript_fetch_old(), plpgsql_param_compile(), plpgsql_param_eval_generic(), plpgsql_param_eval_generic_ro(), plpgsql_param_eval_recfield(), plpgsql_param_eval_var(), plpgsql_param_eval_var_check(), plpgsql_param_eval_var_ro(), and plpgsql_param_eval_var_transfer().

struct { ... } ExprEvalStep::returningexpr

struct { ... } ExprEvalStep::row

rowcache [1/2]

rowcache [2/2]

struct { ... } ExprEvalStep::rowcompare_final

struct { ... } ExprEvalStep::rowcompare_step

saop

struct { ... } ExprEvalStep::sbsref

Referenced by array_subscript_assign(), array_subscript_assign_slice(), array_subscript_fetch(), array_subscript_fetch_old(), array_subscript_fetch_old_slice(), array_subscript_fetch_slice(), ExecInitSubscriptingRef(), hstore_subscript_assign(), hstore_subscript_fetch(), jsonb_subscript_assign(), jsonb_subscript_fetch(), and jsonb_subscript_fetch_old().

struct { ... } ExprEvalStep::sbsref_subscript

struct { ... } ExprEvalStep::scalararrayop

seqid

seqtypid

Oid ExprEvalStep::seqtypid

setno

setoff

slow

struct { ... } ExprEvalStep::sqlvaluefunction

sstate

state

Definition at line 570 of file execExpr.h.

Referenced by array_subscript_assign(), array_subscript_assign_slice(), array_subscript_check_subscripts(), array_subscript_fetch(), array_subscript_fetch_old(), array_subscript_fetch_old_slice(), array_subscript_fetch_slice(), ExecInitSubscriptingRef(), hstore_subscript_assign(), hstore_subscript_fetch(), jsonb_subscript_assign(), jsonb_subscript_check_subscripts(), jsonb_subscript_fetch(), and jsonb_subscript_fetch_old().

struct { ... } ExprEvalStep::subplan

subscriptfunc [1/2]

subscriptfunc [2/2]

svf

targettype

Oid ExprEvalStep::targettype

targettypmod

int32 ExprEvalStep::targettypmod

transno

int ExprEvalStep::transno

tupdesc

typalign

char ExprEvalStep::typalign

typbyval

bool ExprEvalStep::typbyval

typlen

int16 ExprEvalStep::typlen

useOr

value [1/2]

Datum ExprEvalStep::value

value [2/2]

Datum* ExprEvalStep::value

values

Datum* ExprEvalStep::values

[1/2]

struct { ... } ExprEvalStep::var

var [2/2]

varreturningtype

vartype

Oid ExprEvalStep::vartype

wfstate

struct { ... } ExprEvalStep::wholerow

struct { ... } ExprEvalStep::window_func

xexpr

struct { ... } ExprEvalStep::xmlexpr


The documentation for this struct was generated from the following file: