PostgreSQL Source Code  git master
ExprEvalStep Struct Reference

#include <execExpr.h>

Data Fields

intptr_t opcode
 
Datumresvalue
 
boolresnull
 
union {
   struct {
      int   last_var
 
      bool   fixed
 
      TupleDesc   known_desc
 
      const TupleTableSlotOps *   kind
 
   }   fetch
 
   struct {
      int   attnum
 
      Oid   vartype
 
   }   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 {
      Datum   value
 
      bool   isnull
 
   }   constval
 
   struct {
      FmgrInfo *   finfo
 
      FunctionCallInfo   fcinfo_data
 
      PGFunction   fn_addr
 
      int   nargs
 
   }   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
 
      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 {
      RowCompareType   rctype
 
   }   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 {
      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
 
      void *   json_populate_type_cache
 
      ErrorSaveContext *   escontext
 
   }   jsonexpr_coercion
 
d
 

Detailed Description

Definition at line 274 of file execExpr.h.

Field Documentation

◆ 

struct { ... } ExprEvalStep::agg_deserialize

Referenced by ExecBuildAggTrans().

◆ 

struct { ... } ExprEvalStep::agg_plain_pergroup_nullcheck

Referenced by ExecBuildAggTransCall().

◆ 

struct { ... } ExprEvalStep::agg_presorted_distinctcheck

Referenced by ExecBuildAggTrans().

◆ 

struct { ... } ExprEvalStep::agg_strict_input_check

Referenced by ExecBuildAggTrans().

◆ 

struct { ... } ExprEvalStep::agg_trans

Referenced by ExecBuildAggTransCall().

◆ aggcontext

ExprContext* ExprEvalStep::aggcontext

Definition at line 678 of file execExpr.h.

Referenced by ExecAggInitGroup(), ExecAggPlainTransByRef(), and ExecAggPlainTransByVal().

◆ aggno

int ExprEvalStep::aggno

Definition at line 617 of file execExpr.h.

Referenced by ExecInterpExpr().

◆ 

struct { ... } ExprEvalStep::aggref

Referenced by ExecInitExprRec().

◆ amstate

struct ArrayMapState* ExprEvalStep::amstate

Definition at line 459 of file execExpr.h.

◆ anynull

bool* ExprEvalStep::anynull

Definition at line 364 of file execExpr.h.

◆ argnull

bool* ExprEvalStep::argnull

Definition at line 605 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ args

NullableDatum* ExprEvalStep::args

Definition at line 661 of file execExpr.h.

◆ argvalue

Datum* ExprEvalStep::argvalue

Definition at line 604 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ 

struct { ... } ExprEvalStep::arraycoerce

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::arrayexpr

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::assign_tmp

◆ 

struct { ... } ExprEvalStep::assign_var

◆ attnum

int ExprEvalStep::attnum

Definition at line 313 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::boolexpr

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::casetest

Referenced by ExecInitExprRec().

◆ checknull

bool* ExprEvalStep::checknull

Definition at line 553 of file execExpr.h.

◆ checkvalue

Datum* ExprEvalStep::checkvalue

Definition at line 552 of file execExpr.h.

◆ clauses

List* ExprEvalStep::clauses

Definition at line 623 of file execExpr.h.

◆ constraintname

char* ExprEvalStep::constraintname

Definition at line 550 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::constval

◆ 

struct { ... } ExprEvalStep::convert_rowtype

Referenced by ExecInitExprRec().

◆ 

◆ 

◆ 

struct { ... } ExprEvalStep::domaincheck

Referenced by ExecInitCoerceToDomain().

◆ elemalign

char ExprEvalStep::elemalign

Definition at line 450 of file execExpr.h.

◆ elembyval

bool ExprEvalStep::elembyval

Definition at line 449 of file execExpr.h.

◆ element_type

Oid ExprEvalStep::element_type

Definition at line 574 of file execExpr.h.

Referenced by ExecEvalArrayExpr().

◆ elements_tab

struct ScalarArrayOpExprHashTable* ExprEvalStep::elements_tab

◆ elemexprstate

ExprState* ExprEvalStep::elemexprstate

Definition at line 457 of file execExpr.h.

◆ elemlength

int16 ExprEvalStep::elemlength

Definition at line 448 of file execExpr.h.

◆ elemnulls

bool* ExprEvalStep::elemnulls

Definition at line 445 of file execExpr.h.

◆ elemtype

Oid ExprEvalStep::elemtype

Definition at line 447 of file execExpr.h.

◆ elemvalues

Datum* ExprEvalStep::elemvalues

Definition at line 444 of file execExpr.h.

◆ escontext

ErrorSaveContext* ExprEvalStep::escontext

Definition at line 556 of file execExpr.h.

Referenced by ExecEvalJsonCoercion().

◆ fcinfo_data

FunctionCallInfo ExprEvalStep::fcinfo_data

Definition at line 355 of file execExpr.h.

◆ fcinfo_data_in

FunctionCallInfo ExprEvalStep::fcinfo_data_in

Definition at line 425 of file execExpr.h.

◆ fcinfo_data_out

FunctionCallInfo ExprEvalStep::fcinfo_data_out

Definition at line 422 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::fetch

◆ fieldnum

AttrNumber ExprEvalStep::fieldnum

Definition at line 507 of file execExpr.h.

Referenced by ExecEvalFieldSelect().

◆ 

struct { ... } ExprEvalStep::fieldselect

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::fieldstore

Referenced by ExecInitExprRec().

◆ finfo

FmgrInfo* ExprEvalStep::finfo

Definition at line 354 of file execExpr.h.

◆ finfo_in

FmgrInfo* ExprEvalStep::finfo_in

Definition at line 424 of file execExpr.h.

◆ finfo_out

FmgrInfo* ExprEvalStep::finfo_out

Definition at line 421 of file execExpr.h.

◆ first

bool ExprEvalStep::first

Definition at line 321 of file execExpr.h.

◆ fixed

bool ExprEvalStep::fixed

Definition at line 301 of file execExpr.h.

◆ fn_addr

PGFunction ExprEvalStep::fn_addr

Definition at line 357 of file execExpr.h.

◆ fstore

FieldStore* ExprEvalStep::fstore

Definition at line 517 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::func

◆ 

struct { ... } ExprEvalStep::grouping_func

Referenced by ExecInitExprRec().

◆ has_nulls

bool ExprEvalStep::has_nulls

Definition at line 588 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ 

struct { ... } ExprEvalStep::hashedscalararrayop

◆ incache

ExprEvalRowtypeCache* ExprEvalStep::incache

Definition at line 565 of file execExpr.h.

◆ inclause

bool ExprEvalStep::inclause

Definition at line 589 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ inputtype

Oid ExprEvalStep::inputtype

Definition at line 562 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::iocoerce

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::is_json

Referenced by ExecInitExprRec().

◆ isnull [1/2]

◆ isnull [2/2]

bool* ExprEvalStep::isnull

Definition at line 407 of file execExpr.h.

◆ jcstate

struct JsonConstructorExprState* ExprEvalStep::jcstate

Definition at line 611 of file execExpr.h.

Referenced by ExecEvalJsonConstructor().

◆ jsestate

struct JsonExprState* ExprEvalStep::jsestate

Definition at line 702 of file execExpr.h.

Referenced by ExecEvalJsonCoercionFinish(), and ExecEvalJsonExprPath().

◆ 

struct { ... } ExprEvalStep::json_constructor

Referenced by ExecInitExprRec().

◆ json_populate_type_cache

void* ExprEvalStep::json_populate_type_cache

Definition at line 710 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::jsonexpr

Referenced by ExecInitJsonExpr().

◆ 

struct { ... } ExprEvalStep::jsonexpr_coercion

Referenced by ExecInitJsonCoercion().

◆ 

struct { ... } ExprEvalStep::jump

◆ jumpdistinct

int ExprEvalStep::jumpdistinct

Definition at line 679 of file execExpr.h.

◆ jumpdone

int ExprEvalStep::jumpdone

Definition at line 365 of file execExpr.h.

◆ jumpnull

int ExprEvalStep::jumpnull

Definition at line 479 of file execExpr.h.

◆ junkFilter

JunkFilter* ExprEvalStep::junkFilter

Definition at line 324 of file execExpr.h.

◆ kind

const TupleTableSlotOps* ExprEvalStep::kind

Definition at line 305 of file execExpr.h.

◆ known_desc

TupleDesc ExprEvalStep::known_desc

Definition at line 303 of file execExpr.h.

◆ last_var

int ExprEvalStep::last_var

Definition at line 299 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::make_readonly

◆ map

TupleConversionMap* ExprEvalStep::map

Definition at line 567 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::minmax

Referenced by ExecInitExprRec().

◆ multidims

bool ExprEvalStep::multidims

Definition at line 451 of file execExpr.h.

◆ named_argnull

bool* ExprEvalStep::named_argnull

Definition at line 602 of file execExpr.h.

◆ named_argvalue

Datum* ExprEvalStep::named_argvalue

Definition at line 601 of file execExpr.h.

◆ nargs

int ExprEvalStep::nargs

◆ ncolumns

int ExprEvalStep::ncolumns

Definition at line 526 of file execExpr.h.

◆ nelems

int ExprEvalStep::nelems

Definition at line 446 of file execExpr.h.

Referenced by ExecEvalArrayExpr().

◆ 

struct { ... } ExprEvalStep::nextvalueexpr

Referenced by ExecInitExprRec().

◆ nulls

bool* ExprEvalStep::nulls

Definition at line 495 of file execExpr.h.

Referenced by ExecEvalMinMax(), and ExecInterpExpr().

◆ 

struct { ... } ExprEvalStep::nulltest_row

Referenced by ExecInitExprRec().

◆ op

◆ opcode

◆ outcache

ExprEvalRowtypeCache* ExprEvalStep::outcache

Definition at line 566 of file execExpr.h.

◆ outputtype

Oid ExprEvalStep::outputtype

Definition at line 563 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::param

Referenced by ExecInitExprRec().

◆ paramarg

void* ExprEvalStep::paramarg

Definition at line 398 of file execExpr.h.

◆ paramfunc

ExecEvalSubroutine ExprEvalStep::paramfunc

Definition at line 397 of file execExpr.h.

◆ paramid

int ExprEvalStep::paramid

Definition at line 390 of file execExpr.h.

◆ paramtype

Oid ExprEvalStep::paramtype

Definition at line 391 of file execExpr.h.

◆ pertrans

◆ pred

JsonIsPredicate* ExprEvalStep::pred

Definition at line 696 of file execExpr.h.

Referenced by ExecEvalJsonIsPredicate().

◆ 

struct { ... } ExprEvalStep::qualexpr

◆ rctype

RowCompareType ExprEvalStep::rctype

Definition at line 487 of file execExpr.h.

Referenced by ExecInterpExpr().

◆ resnull

◆ resultelemtype

Oid ExprEvalStep::resultelemtype

Definition at line 458 of file execExpr.h.

◆ resultnum

int ExprEvalStep::resultnum

Definition at line 331 of file execExpr.h.

Referenced by ExecInterpExpr(), ExecJustAssignVarImpl(), and ExecJustAssignVarVirtImpl().

◆ resulttype

Oid ExprEvalStep::resulttype

Definition at line 508 of file execExpr.h.

◆ resvalue

◆ 

struct { ... } ExprEvalStep::row

Referenced by ExecInitExprRec().

◆ rowcache [1/2]

ExprEvalRowtypeCache ExprEvalStep::rowcache

Definition at line 384 of file execExpr.h.

Referenced by get_cached_rowtype().

◆ rowcache [2/2]

ExprEvalRowtypeCache* ExprEvalStep::rowcache

Definition at line 521 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::rowcompare_final

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::rowcompare_step

Referenced by ExecInitExprRec().

◆ saop

ScalarArrayOpExpr* ExprEvalStep::saop

Definition at line 593 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ 

◆ 

struct { ... } ExprEvalStep::sbsref_subscript

◆ 

struct { ... } ExprEvalStep::scalararrayop

Referenced by ExecInitExprRec().

◆ seqid

Oid ExprEvalStep::seqid

Definition at line 437 of file execExpr.h.

◆ seqtypid

Oid ExprEvalStep::seqtypid

Definition at line 438 of file execExpr.h.

◆ setno

int ExprEvalStep::setno

◆ setoff

int ExprEvalStep::setoff

Definition at line 670 of file execExpr.h.

◆ slow

bool ExprEvalStep::slow

Definition at line 322 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::sqlvaluefunction

Referenced by ExecInitExprRec().

◆ sstate

SubPlanState* ExprEvalStep::sstate

Definition at line 637 of file execExpr.h.

Referenced by ExecEvalSubPlan().

◆ state

struct SubscriptingRefState* ExprEvalStep::state

Definition at line 534 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::subplan

◆ subscriptfunc [1/2]

ExecEvalBoolSubroutine ExprEvalStep::subscriptfunc

Definition at line 532 of file execExpr.h.

◆ subscriptfunc [2/2]

ExecEvalSubroutine ExprEvalStep::subscriptfunc

Definition at line 541 of file execExpr.h.

◆ svf

SQLValueFunction* ExprEvalStep::svf

Definition at line 431 of file execExpr.h.

Referenced by ExecEvalSQLValueFunction().

◆ targettype

Oid ExprEvalStep::targettype

Definition at line 708 of file execExpr.h.

◆ targettypmod

int32 ExprEvalStep::targettypmod

Definition at line 709 of file execExpr.h.

◆ transno

int ExprEvalStep::transno

Definition at line 689 of file execExpr.h.

◆ tupdesc

TupleDesc ExprEvalStep::tupdesc

Definition at line 323 of file execExpr.h.

◆ typalign

char ExprEvalStep::typalign

Definition at line 578 of file execExpr.h.

◆ typbyval

bool ExprEvalStep::typbyval

Definition at line 577 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().

◆ typlen

int16 ExprEvalStep::typlen

Definition at line 576 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().

◆ useOr

bool ExprEvalStep::useOr

Definition at line 575 of file execExpr.h.

Referenced by ExecEvalScalarArrayOp().

◆ value [1/2]

Datum ExprEvalStep::value

Definition at line 347 of file execExpr.h.

◆ value [2/2]

Datum* ExprEvalStep::value

Definition at line 406 of file execExpr.h.

◆ values

Datum* ExprEvalStep::values

Definition at line 494 of file execExpr.h.

◆  [1/2]

struct { ... } ExprEvalStep::var

◆ var [2/2]

Var* ExprEvalStep::var

Definition at line 320 of file execExpr.h.

◆ vartype

Oid ExprEvalStep::vartype

Definition at line 314 of file execExpr.h.

Referenced by CheckVarSlotCompatibility().

◆ wfstate

WindowFuncExprState* ExprEvalStep::wfstate

Definition at line 630 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::wholerow

Referenced by ExecInitWholeRowVar().

◆ 

struct { ... } ExprEvalStep::window_func

Referenced by ExecInitExprRec().

◆ xexpr

XmlExpr* ExprEvalStep::xexpr

Definition at line 599 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ 

struct { ... } ExprEvalStep::xmlexpr

Referenced by ExecInitExprRec().


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