PostgreSQL Source Code  git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ExprEvalStep Struct Reference

#include <execExpr.h>

Data Fields

intptr_t opcode
 
Datumresvalue
 
bool * resnull
 
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
 
      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
 
      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 {
      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
 

Detailed Description

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

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

◆ aggno

int ExprEvalStep::aggno

Definition at line 645 of file execExpr.h.

Referenced by ExecInterpExpr().

◆ 

struct { ... } ExprEvalStep::aggref

Referenced by ExecInitExprRec().

◆ amstate

struct ArrayMapState* ExprEvalStep::amstate

Definition at line 469 of file execExpr.h.

◆ anynull

bool* ExprEvalStep::anynull

Definition at line 374 of file execExpr.h.

◆ argnull

bool* ExprEvalStep::argnull

Definition at line 633 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ args

NullableDatum* ExprEvalStep::args

Definition at line 689 of file execExpr.h.

◆ argvalue

Datum* ExprEvalStep::argvalue

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

◆ 

struct { ... } ExprEvalStep::boolexpr

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::casetest

Referenced by ExecInitExprRec().

◆ checknull

bool* ExprEvalStep::checknull

Definition at line 563 of file execExpr.h.

◆ checkvalue

Datum* ExprEvalStep::checkvalue

Definition at line 562 of file execExpr.h.

◆ clauses

List* ExprEvalStep::clauses

Definition at line 651 of file execExpr.h.

◆ constraintname

char* ExprEvalStep::constraintname

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

◆ elembyval

bool ExprEvalStep::elembyval

Definition at line 459 of file execExpr.h.

◆ element_type

Oid ExprEvalStep::element_type

Definition at line 602 of file execExpr.h.

Referenced by ExecEvalArrayExpr().

◆ elements_tab

struct ScalarArrayOpExprHashTable* ExprEvalStep::elements_tab

◆ elemexprstate

ExprState* ExprEvalStep::elemexprstate

Definition at line 467 of file execExpr.h.

◆ elemlength

int16 ExprEvalStep::elemlength

Definition at line 458 of file execExpr.h.

◆ elemnulls

bool* ExprEvalStep::elemnulls

Definition at line 455 of file execExpr.h.

◆ elemtype

Oid ExprEvalStep::elemtype

Definition at line 457 of file execExpr.h.

◆ elemvalues

Datum* ExprEvalStep::elemvalues

Definition at line 454 of file execExpr.h.

◆ escontext

ErrorSaveContext* ExprEvalStep::escontext

Definition at line 566 of file execExpr.h.

Referenced by ExecEvalJsonCoercion().

◆ exists_cast_to_int

bool ExprEvalStep::exists_cast_to_int

Definition at line 741 of file execExpr.h.

◆ exists_check_domain

bool ExprEvalStep::exists_check_domain

Definition at line 742 of file execExpr.h.

◆ exists_coerce

bool ExprEvalStep::exists_coerce

Definition at line 740 of file execExpr.h.

◆ fcinfo_data

FunctionCallInfo ExprEvalStep::fcinfo_data

Definition at line 364 of file execExpr.h.

◆ fcinfo_data_in

FunctionCallInfo ExprEvalStep::fcinfo_data_in

Definition at line 435 of file execExpr.h.

◆ fcinfo_data_out

FunctionCallInfo ExprEvalStep::fcinfo_data_out

Definition at line 432 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::fetch

◆ fieldnum

AttrNumber ExprEvalStep::fieldnum

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

◆ finfo_in

FmgrInfo* ExprEvalStep::finfo_in

Definition at line 434 of file execExpr.h.

◆ finfo_out

FmgrInfo* ExprEvalStep::finfo_out

Definition at line 431 of file execExpr.h.

◆ first

bool ExprEvalStep::first

Definition at line 330 of file execExpr.h.

◆ fixed

bool ExprEvalStep::fixed

Definition at line 310 of file execExpr.h.

◆ fn_addr

PGFunction ExprEvalStep::fn_addr

Definition at line 366 of file execExpr.h.

◆ fstore

FieldStore* ExprEvalStep::fstore

Definition at line 527 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::func

◆ 

struct { ... } ExprEvalStep::grouping_func

Referenced by ExecInitExprRec().

◆ has_nulls

bool ExprEvalStep::has_nulls

Definition at line 616 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ 

struct { ... } ExprEvalStep::hashdatum

Referenced by ExecBuildHash32Expr().

◆ 

struct { ... } ExprEvalStep::hashdatum_initvalue

Referenced by ExecBuildHash32Expr().

◆ 

struct { ... } ExprEvalStep::hashedscalararrayop

◆ incache

ExprEvalRowtypeCache* ExprEvalStep::incache

Definition at line 593 of file execExpr.h.

◆ inclause

bool ExprEvalStep::inclause

Definition at line 617 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp().

◆ init_value

Datum ExprEvalStep::init_value

Definition at line 572 of file execExpr.h.

◆ inputtype

Oid ExprEvalStep::inputtype

Definition at line 590 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::iocoerce

Referenced by ExecInitExprRec().

◆ iresult

NullableDatum* ExprEvalStep::iresult

Definition at line 584 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::is_json

Referenced by ExecInitExprRec().

◆ isnull [1/2]

◆ isnull [2/2]

bool* ExprEvalStep::isnull

Definition at line 417 of file execExpr.h.

◆ jcstate

struct JsonConstructorExprState* ExprEvalStep::jcstate

Definition at line 639 of file execExpr.h.

Referenced by ExecEvalJsonConstructor().

◆ jsestate

struct JsonExprState* ExprEvalStep::jsestate

Definition at line 730 of file execExpr.h.

Referenced by ExecEvalJsonCoercionFinish(), and ExecEvalJsonExprPath().

◆ json_coercion_cache

void* ExprEvalStep::json_coercion_cache

Definition at line 743 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::json_constructor

Referenced by ExecInitExprRec().

◆ 

struct { ... } ExprEvalStep::jsonexpr

Referenced by ExecInitJsonExpr().

◆ 

struct { ... } ExprEvalStep::jsonexpr_coercion

Referenced by ExecInitJsonCoercion().

◆ 

struct { ... } ExprEvalStep::jump

◆ jumpdistinct

int ExprEvalStep::jumpdistinct

Definition at line 707 of file execExpr.h.

◆ jumpdone

int ExprEvalStep::jumpdone

Definition at line 375 of file execExpr.h.

◆ jumpnull

int ExprEvalStep::jumpnull

Definition at line 489 of file execExpr.h.

◆ junkFilter

JunkFilter* ExprEvalStep::junkFilter

Definition at line 333 of file execExpr.h.

◆ kind

const TupleTableSlotOps* ExprEvalStep::kind

Definition at line 314 of file execExpr.h.

◆ known_desc

TupleDesc ExprEvalStep::known_desc

Definition at line 312 of file execExpr.h.

◆ last_var

int ExprEvalStep::last_var

Definition at line 308 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::make_readonly

◆ make_ro

bool ExprEvalStep::make_ro

Definition at line 368 of file execExpr.h.

◆ map

TupleConversionMap* ExprEvalStep::map

Definition at line 595 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::minmax

Referenced by ExecInitExprRec().

◆ multidims

bool ExprEvalStep::multidims

Definition at line 461 of file execExpr.h.

◆ named_argnull

bool* ExprEvalStep::named_argnull

Definition at line 630 of file execExpr.h.

◆ named_argvalue

Datum* ExprEvalStep::named_argvalue

Definition at line 629 of file execExpr.h.

◆ nargs

int ExprEvalStep::nargs

◆ ncolumns

int ExprEvalStep::ncolumns

Definition at line 536 of file execExpr.h.

◆ nelems

int ExprEvalStep::nelems

Definition at line 456 of file execExpr.h.

Referenced by ExecEvalArrayExpr().

◆ 

struct { ... } ExprEvalStep::nextvalueexpr

Referenced by ExecInitExprRec().

◆ nulls

bool* ExprEvalStep::nulls

Definition at line 505 of file execExpr.h.

Referenced by ExecEvalMinMax(), and ExecInterpExpr().

◆ 

struct { ... } ExprEvalStep::nulltest_row

Referenced by ExecInitExprRec().

◆ omit_quotes

bool ExprEvalStep::omit_quotes

Definition at line 738 of file execExpr.h.

◆ op

◆ opcode

◆ outcache

ExprEvalRowtypeCache* ExprEvalStep::outcache

Definition at line 594 of file execExpr.h.

◆ outputtype

Oid ExprEvalStep::outputtype

Definition at line 591 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::param

◆ paramarg

void* ExprEvalStep::paramarg

Definition at line 408 of file execExpr.h.

◆ paramfunc

ExecEvalSubroutine ExprEvalStep::paramfunc

Definition at line 407 of file execExpr.h.

◆ paramid

int ExprEvalStep::paramid

Definition at line 400 of file execExpr.h.

◆ paramtype

Oid ExprEvalStep::paramtype

Definition at line 401 of file execExpr.h.

◆ pertrans

◆ pred

JsonIsPredicate* ExprEvalStep::pred

Definition at line 724 of file execExpr.h.

Referenced by ExecEvalJsonIsPredicate().

◆ 

struct { ... } ExprEvalStep::qualexpr

◆ rctype

RowCompareType ExprEvalStep::rctype

Definition at line 497 of file execExpr.h.

Referenced by ExecInterpExpr().

◆ resnull

◆ resultelemtype

Oid ExprEvalStep::resultelemtype

Definition at line 468 of file execExpr.h.

◆ resultnum

int ExprEvalStep::resultnum

Definition at line 340 of file execExpr.h.

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

◆ resulttype

Oid ExprEvalStep::resulttype

Definition at line 518 of file execExpr.h.

◆ resvalue

◆ 

struct { ... } ExprEvalStep::row

Referenced by ExecInitExprRec().

◆ rowcache [1/2]

ExprEvalRowtypeCache ExprEvalStep::rowcache

Definition at line 394 of file execExpr.h.

Referenced by get_cached_rowtype().

◆ rowcache [2/2]

ExprEvalRowtypeCache* ExprEvalStep::rowcache

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

Referenced by ExecEvalHashedScalarArrayOp().

◆ 

◆ 

struct { ... } ExprEvalStep::sbsref_subscript

◆ 

struct { ... } ExprEvalStep::scalararrayop

Referenced by ExecInitExprRec().

◆ seqid

Oid ExprEvalStep::seqid

Definition at line 447 of file execExpr.h.

◆ seqtypid

Oid ExprEvalStep::seqtypid

Definition at line 448 of file execExpr.h.

◆ setno

int ExprEvalStep::setno

◆ setoff

int ExprEvalStep::setoff

Definition at line 698 of file execExpr.h.

◆ slow

bool ExprEvalStep::slow

Definition at line 331 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::sqlvaluefunction

Referenced by ExecInitExprRec().

◆ sstate

SubPlanState* ExprEvalStep::sstate

Definition at line 665 of file execExpr.h.

Referenced by ExecEvalSubPlan().

◆ state

struct SubscriptingRefState* ExprEvalStep::state

Definition at line 544 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::subplan

Referenced by ExecInitSubPlanExpr().

◆ subscriptfunc [1/2]

ExecEvalBoolSubroutine ExprEvalStep::subscriptfunc

Definition at line 542 of file execExpr.h.

◆ subscriptfunc [2/2]

ExecEvalSubroutine ExprEvalStep::subscriptfunc

Definition at line 551 of file execExpr.h.

◆ svf

SQLValueFunction* ExprEvalStep::svf

Definition at line 441 of file execExpr.h.

Referenced by ExecEvalSQLValueFunction().

◆ targettype

Oid ExprEvalStep::targettype

Definition at line 736 of file execExpr.h.

◆ targettypmod

int32 ExprEvalStep::targettypmod

Definition at line 737 of file execExpr.h.

◆ transno

int ExprEvalStep::transno

Definition at line 717 of file execExpr.h.

◆ tupdesc

TupleDesc ExprEvalStep::tupdesc

Definition at line 332 of file execExpr.h.

◆ typalign

char ExprEvalStep::typalign

Definition at line 606 of file execExpr.h.

◆ typbyval

bool ExprEvalStep::typbyval

Definition at line 605 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().

◆ typlen

int16 ExprEvalStep::typlen

Definition at line 604 of file execExpr.h.

Referenced by ExecEvalHashedScalarArrayOp(), and ExecEvalScalarArrayOp().

◆ useOr

bool ExprEvalStep::useOr

Definition at line 603 of file execExpr.h.

Referenced by ExecEvalScalarArrayOp().

◆ value [1/2]

Datum ExprEvalStep::value

Definition at line 356 of file execExpr.h.

◆ value [2/2]

Datum* ExprEvalStep::value

Definition at line 416 of file execExpr.h.

◆ values

Datum* ExprEvalStep::values

Definition at line 504 of file execExpr.h.

◆  [1/2]

struct { ... } ExprEvalStep::var

◆ var [2/2]

Var* ExprEvalStep::var

Definition at line 329 of file execExpr.h.

◆ vartype

Oid ExprEvalStep::vartype

Definition at line 323 of file execExpr.h.

Referenced by CheckVarSlotCompatibility().

◆ wfstate

WindowFuncExprState* ExprEvalStep::wfstate

Definition at line 658 of file execExpr.h.

◆ 

struct { ... } ExprEvalStep::wholerow

Referenced by ExecInitWholeRowVar().

◆ 

struct { ... } ExprEvalStep::window_func

Referenced by ExecInitExprRec().

◆ xexpr

XmlExpr* ExprEvalStep::xexpr

Definition at line 627 of file execExpr.h.

Referenced by ExecEvalXmlExpr().

◆ 

struct { ... } ExprEvalStep::xmlexpr

Referenced by ExecInitExprRec().


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