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 {
      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
 
   }   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 {
      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
 
d
 

Detailed Description

Definition at line 264 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 655 of file execExpr.h.

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

◆ aggno

int ExprEvalStep::aggno

Definition at line 594 of file execExpr.h.

Referenced by ExecInterpExpr().

◆ 

struct { ... } ExprEvalStep::aggref

Referenced by ExecInitExprRec().

◆ amstate

struct ArrayMapState* ExprEvalStep::amstate

Definition at line 443 of file execExpr.h.

◆ anynull

bool* ExprEvalStep::anynull

Definition at line 354 of file execExpr.h.

◆ argnull

bool* ExprEvalStep::argnull

Definition at line 588 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ args

NullableDatum* ExprEvalStep::args

Definition at line 638 of file execExpr.h.

◆ argvalue

Datum* ExprEvalStep::argvalue

Definition at line 587 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 303 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::boolexpr

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::casetest

Referenced by ExecInitExprRec().

◆ checknull

bool* ExprEvalStep::checknull

Definition at line 537 of file execExpr.h.

◆ checkvalue

Datum* ExprEvalStep::checkvalue

Definition at line 536 of file execExpr.h.

◆ clauses

List* ExprEvalStep::clauses

Definition at line 600 of file execExpr.h.

◆ constraintname

char* ExprEvalStep::constraintname

Definition at line 534 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 434 of file execExpr.h.

◆ elembyval

bool ExprEvalStep::elembyval

Definition at line 433 of file execExpr.h.

◆ element_type

Oid ExprEvalStep::element_type

Definition at line 557 of file execExpr.h.

Referenced by ExecEvalArrayExpr().

◆ elements_tab

struct ScalarArrayOpExprHashTable* ExprEvalStep::elements_tab

◆ elemexprstate

ExprState* ExprEvalStep::elemexprstate

Definition at line 441 of file execExpr.h.

◆ elemlength

int16 ExprEvalStep::elemlength

Definition at line 432 of file execExpr.h.

◆ elemnulls

bool* ExprEvalStep::elemnulls

Definition at line 429 of file execExpr.h.

◆ elemtype

Oid ExprEvalStep::elemtype

Definition at line 431 of file execExpr.h.

◆ elemvalues

Datum* ExprEvalStep::elemvalues

Definition at line 428 of file execExpr.h.

◆ fcinfo_data

FunctionCallInfo ExprEvalStep::fcinfo_data

Definition at line 345 of file execExpr.h.

◆ fcinfo_data_in

FunctionCallInfo ExprEvalStep::fcinfo_data_in

Definition at line 415 of file execExpr.h.

◆ fcinfo_data_out

FunctionCallInfo ExprEvalStep::fcinfo_data_out

Definition at line 412 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::fetch

◆ fieldnum

AttrNumber ExprEvalStep::fieldnum

Definition at line 491 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 344 of file execExpr.h.

◆ finfo_in

FmgrInfo* ExprEvalStep::finfo_in

Definition at line 414 of file execExpr.h.

◆ finfo_out

FmgrInfo* ExprEvalStep::finfo_out

Definition at line 411 of file execExpr.h.

◆ first

bool ExprEvalStep::first

Definition at line 311 of file execExpr.h.

◆ fixed

bool ExprEvalStep::fixed

Definition at line 291 of file execExpr.h.

◆ fn_addr

PGFunction ExprEvalStep::fn_addr

Definition at line 347 of file execExpr.h.

◆ fstore

FieldStore* ExprEvalStep::fstore

Definition at line 501 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::func

◆ 

struct { ... } ExprEvalStep::grouping_func

Referenced by ExecInitExprRec().

◆ has_nulls

bool ExprEvalStep::has_nulls

Definition at line 571 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ 

struct { ... } ExprEvalStep::hashedscalararrayop

◆ incache

ExprEvalRowtypeCache* ExprEvalStep::incache

Definition at line 548 of file execExpr.h.

◆ inclause

bool ExprEvalStep::inclause

Definition at line 572 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ inputtype

Oid ExprEvalStep::inputtype

Definition at line 545 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::iocoerce

Referenced by ExecInitExprRec().

◆ isnull [1/2]

◆ isnull [2/2]

bool* ExprEvalStep::isnull

Definition at line 397 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::jump

◆ jumpdistinct

int ExprEvalStep::jumpdistinct

Definition at line 656 of file execExpr.h.

◆ jumpdone

int ExprEvalStep::jumpdone

Definition at line 355 of file execExpr.h.

◆ jumpnull

int ExprEvalStep::jumpnull

Definition at line 463 of file execExpr.h.

◆ junkFilter

JunkFilter* ExprEvalStep::junkFilter

Definition at line 314 of file execExpr.h.

◆ kind

const TupleTableSlotOps* ExprEvalStep::kind

Definition at line 295 of file execExpr.h.

◆ known_desc

TupleDesc ExprEvalStep::known_desc

Definition at line 293 of file execExpr.h.

◆ last_var

int ExprEvalStep::last_var

Definition at line 289 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::make_readonly

◆ map

TupleConversionMap* ExprEvalStep::map

Definition at line 550 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::minmax

Referenced by ExecInitExprRec().

◆ multidims

bool ExprEvalStep::multidims

Definition at line 435 of file execExpr.h.

◆ named_argnull

bool* ExprEvalStep::named_argnull

Definition at line 585 of file execExpr.h.

◆ named_argvalue

Datum* ExprEvalStep::named_argvalue

Definition at line 584 of file execExpr.h.

◆ nargs

int ExprEvalStep::nargs

◆ ncolumns

int ExprEvalStep::ncolumns

Definition at line 510 of file execExpr.h.

◆ nelems

int ExprEvalStep::nelems

Definition at line 430 of file execExpr.h.

Referenced by ExecEvalArrayExpr().

◆ 

struct { ... } ExprEvalStep::nextvalueexpr

Referenced by ExecInitExprRec().

◆ nulls

bool* ExprEvalStep::nulls

Definition at line 479 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 549 of file execExpr.h.

◆ outputtype

Oid ExprEvalStep::outputtype

Definition at line 546 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::param

Referenced by ExecInitExprRec().

◆ paramarg

void* ExprEvalStep::paramarg

Definition at line 388 of file execExpr.h.

◆ paramfunc

ExecEvalSubroutine ExprEvalStep::paramfunc

Definition at line 387 of file execExpr.h.

◆ paramid

int ExprEvalStep::paramid

Definition at line 380 of file execExpr.h.

◆ paramtype

Oid ExprEvalStep::paramtype

Definition at line 381 of file execExpr.h.

◆ pertrans

◆ 

struct { ... } ExprEvalStep::qualexpr

◆ rctype

RowCompareType ExprEvalStep::rctype

Definition at line 471 of file execExpr.h.

Referenced by ExecInterpExpr().

◆ resnull

◆ resultelemtype

Oid ExprEvalStep::resultelemtype

Definition at line 442 of file execExpr.h.

◆ resultnum

int ExprEvalStep::resultnum

Definition at line 321 of file execExpr.h.

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

◆ resulttype

Oid ExprEvalStep::resulttype

Definition at line 492 of file execExpr.h.

◆ resvalue

◆ 

struct { ... } ExprEvalStep::row

Referenced by ExecInitExprRec().

◆ rowcache [1/2]

ExprEvalRowtypeCache ExprEvalStep::rowcache

Definition at line 374 of file execExpr.h.

Referenced by get_cached_rowtype().

◆ rowcache [2/2]

ExprEvalRowtypeCache* ExprEvalStep::rowcache

Definition at line 505 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 576 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ 

◆ 

struct { ... } ExprEvalStep::sbsref_subscript

◆ 

struct { ... } ExprEvalStep::scalararrayop

Referenced by ExecInitExprRec().

◆ seqid

Oid ExprEvalStep::seqid

Definition at line 421 of file execExpr.h.

◆ seqtypid

Oid ExprEvalStep::seqtypid

Definition at line 422 of file execExpr.h.

◆ setno

int ExprEvalStep::setno

◆ setoff

int ExprEvalStep::setoff

Definition at line 647 of file execExpr.h.

◆ slow

bool ExprEvalStep::slow

Definition at line 312 of file execExpr.h.

◆ sstate

SubPlanState* ExprEvalStep::sstate

Definition at line 614 of file execExpr.h.

Referenced by ExecEvalSubPlan().

◆ state

struct SubscriptingRefState* ExprEvalStep::state

Definition at line 518 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::subplan

◆ subscriptfunc [1/2]

ExecEvalBoolSubroutine ExprEvalStep::subscriptfunc

Definition at line 516 of file execExpr.h.

◆ subscriptfunc [2/2]

ExecEvalSubroutine ExprEvalStep::subscriptfunc

Definition at line 525 of file execExpr.h.

◆ transno

int ExprEvalStep::transno

Definition at line 666 of file execExpr.h.

◆ tupdesc

TupleDesc ExprEvalStep::tupdesc

Definition at line 313 of file execExpr.h.

◆ typalign

char ExprEvalStep::typalign

Definition at line 561 of file execExpr.h.

◆ typbyval

bool ExprEvalStep::typbyval

Definition at line 560 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().

◆ typlen

int16 ExprEvalStep::typlen

Definition at line 559 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().

◆ useOr

bool ExprEvalStep::useOr

Definition at line 558 of file execExpr.h.

Referenced by ExecEvalScalarArrayOp().

◆ value [1/2]

Datum ExprEvalStep::value

Definition at line 337 of file execExpr.h.

◆ value [2/2]

Datum* ExprEvalStep::value

Definition at line 396 of file execExpr.h.

◆ values

Datum* ExprEvalStep::values

Definition at line 478 of file execExpr.h.

◆  [1/2]

struct { ... } ExprEvalStep::var

◆ var [2/2]

Var* ExprEvalStep::var

Definition at line 310 of file execExpr.h.

◆ vartype

Oid ExprEvalStep::vartype

Definition at line 304 of file execExpr.h.

Referenced by CheckVarSlotCompatibility().

◆ wfstate

WindowFuncExprState* ExprEvalStep::wfstate

Definition at line 607 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::wholerow

Referenced by ExecInitWholeRowVar().

◆ 

struct { ... } ExprEvalStep::window_func

Referenced by ExecInitExprRec().

◆ xexpr

XmlExpr* ExprEvalStep::xexpr

Definition at line 582 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ 

struct { ... } ExprEvalStep::xmlexpr

Referenced by ExecInitExprRec().


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