PostgreSQL Source Code  git master
readfuncs.c File Reference
#include "postgres.h"
#include <math.h>
#include "fmgr.h"
#include "miscadmin.h"
#include "nodes/extensible.h"
#include "nodes/parsenodes.h"
#include "nodes/plannodes.h"
#include "nodes/readfuncs.h"
#include "utils/builtins.h"
Include dependency graph for readfuncs.c:

Go to the source code of this file.

Macros

#define READ_LOCALS_NO_FIELDS(nodeTypeName)   nodeTypeName *local_node = makeNode(nodeTypeName)
 
#define READ_TEMP_LOCALS()
 
#define READ_LOCALS(nodeTypeName)
 
#define READ_INT_FIELD(fldname)
 
#define READ_UINT_FIELD(fldname)
 
#define READ_UINT64_FIELD(fldname)
 
#define READ_LONG_FIELD(fldname)
 
#define READ_OID_FIELD(fldname)
 
#define READ_CHAR_FIELD(fldname)
 
#define READ_ENUM_FIELD(fldname, enumtype)
 
#define READ_FLOAT_FIELD(fldname)
 
#define READ_BOOL_FIELD(fldname)
 
#define READ_STRING_FIELD(fldname)
 
#define READ_LOCATION_FIELD(fldname)
 
#define READ_NODE_FIELD(fldname)
 
#define READ_BITMAPSET_FIELD(fldname)
 
#define READ_ATTRNUMBER_ARRAY(fldname, len)
 
#define READ_OID_ARRAY(fldname, len)
 
#define READ_INT_ARRAY(fldname, len)
 
#define READ_BOOL_ARRAY(fldname, len)
 
#define READ_DONE()   return local_node
 
#define atoui(x)   ((unsigned int) strtoul((x), NULL, 10))
 
#define strtobool(x)   ((*(x) == 't') ? true : false)
 
#define nullable_string(token, length)   ((length) == 0 ? NULL : debackslash(token, length))
 
#define MATCH(tokname, namelen)   (length == namelen && memcmp(token, tokname, namelen) == 0)
 

Functions

static Bitmapset_readBitmapset (void)
 
BitmapsetreadBitmapset (void)
 
static Query_readQuery (void)
 
static NotifyStmt_readNotifyStmt (void)
 
static DeclareCursorStmt_readDeclareCursorStmt (void)
 
static WithCheckOption_readWithCheckOption (void)
 
static SortGroupClause_readSortGroupClause (void)
 
static GroupingSet_readGroupingSet (void)
 
static WindowClause_readWindowClause (void)
 
static RowMarkClause_readRowMarkClause (void)
 
static CommonTableExpr_readCommonTableExpr (void)
 
static SetOperationStmt_readSetOperationStmt (void)
 
static Alias_readAlias (void)
 
static RangeVar_readRangeVar (void)
 
static TableFunc_readTableFunc (void)
 
static IntoClause_readIntoClause (void)
 
static Var_readVar (void)
 
static Const_readConst (void)
 
static Param_readParam (void)
 
static Aggref_readAggref (void)
 
static GroupingFunc_readGroupingFunc (void)
 
static WindowFunc_readWindowFunc (void)
 
static SubscriptingRef_readSubscriptingRef (void)
 
static FuncExpr_readFuncExpr (void)
 
static NamedArgExpr_readNamedArgExpr (void)
 
static OpExpr_readOpExpr (void)
 
static DistinctExpr_readDistinctExpr (void)
 
static NullIfExpr_readNullIfExpr (void)
 
static ScalarArrayOpExpr_readScalarArrayOpExpr (void)
 
static BoolExpr_readBoolExpr (void)
 
static SubLink_readSubLink (void)
 
static FieldSelect_readFieldSelect (void)
 
static FieldStore_readFieldStore (void)
 
static RelabelType_readRelabelType (void)
 
static CoerceViaIO_readCoerceViaIO (void)
 
static ArrayCoerceExpr_readArrayCoerceExpr (void)
 
static ConvertRowtypeExpr_readConvertRowtypeExpr (void)
 
static CollateExpr_readCollateExpr (void)
 
static CaseExpr_readCaseExpr (void)
 
static CaseWhen_readCaseWhen (void)
 
static CaseTestExpr_readCaseTestExpr (void)
 
static ArrayExpr_readArrayExpr (void)
 
static RowExpr_readRowExpr (void)
 
static RowCompareExpr_readRowCompareExpr (void)
 
static CoalesceExpr_readCoalesceExpr (void)
 
static MinMaxExpr_readMinMaxExpr (void)
 
static SQLValueFunction_readSQLValueFunction (void)
 
static XmlExpr_readXmlExpr (void)
 
static NullTest_readNullTest (void)
 
static BooleanTest_readBooleanTest (void)
 
static CoerceToDomain_readCoerceToDomain (void)
 
static CoerceToDomainValue_readCoerceToDomainValue (void)
 
static SetToDefault_readSetToDefault (void)
 
static CurrentOfExpr_readCurrentOfExpr (void)
 
static NextValueExpr_readNextValueExpr (void)
 
static InferenceElem_readInferenceElem (void)
 
static TargetEntry_readTargetEntry (void)
 
static RangeTblRef_readRangeTblRef (void)
 
static JoinExpr_readJoinExpr (void)
 
static FromExpr_readFromExpr (void)
 
static OnConflictExpr_readOnConflictExpr (void)
 
static AppendRelInfo_readAppendRelInfo (void)
 
static RangeTblEntry_readRangeTblEntry (void)
 
static RangeTblFunction_readRangeTblFunction (void)
 
static TableSampleClause_readTableSampleClause (void)
 
static DefElem_readDefElem (void)
 
static PlannedStmt_readPlannedStmt (void)
 
static void ReadCommonPlan (Plan *local_node)
 
static Plan_readPlan (void)
 
static Result_readResult (void)
 
static ProjectSet_readProjectSet (void)
 
static ModifyTable_readModifyTable (void)
 
static Append_readAppend (void)
 
static MergeAppend_readMergeAppend (void)
 
static RecursiveUnion_readRecursiveUnion (void)
 
static BitmapAnd_readBitmapAnd (void)
 
static BitmapOr_readBitmapOr (void)
 
static void ReadCommonScan (Scan *local_node)
 
static Scan_readScan (void)
 
static SeqScan_readSeqScan (void)
 
static SampleScan_readSampleScan (void)
 
static IndexScan_readIndexScan (void)
 
static IndexOnlyScan_readIndexOnlyScan (void)
 
static BitmapIndexScan_readBitmapIndexScan (void)
 
static BitmapHeapScan_readBitmapHeapScan (void)
 
static TidScan_readTidScan (void)
 
static SubqueryScan_readSubqueryScan (void)
 
static FunctionScan_readFunctionScan (void)
 
static ValuesScan_readValuesScan (void)
 
static TableFuncScan_readTableFuncScan (void)
 
static CteScan_readCteScan (void)
 
static NamedTuplestoreScan_readNamedTuplestoreScan (void)
 
static WorkTableScan_readWorkTableScan (void)
 
static ForeignScan_readForeignScan (void)
 
static CustomScan_readCustomScan (void)
 
static void ReadCommonJoin (Join *local_node)
 
static Join_readJoin (void)
 
static NestLoop_readNestLoop (void)
 
static MergeJoin_readMergeJoin (void)
 
static HashJoin_readHashJoin (void)
 
static Material_readMaterial (void)
 
static void ReadCommonSort (Sort *local_node)
 
static Sort_readSort (void)
 
static IncrementalSort_readIncrementalSort (void)
 
static Group_readGroup (void)
 
static Agg_readAgg (void)
 
static WindowAgg_readWindowAgg (void)
 
static Unique_readUnique (void)
 
static Gather_readGather (void)
 
static GatherMerge_readGatherMerge (void)
 
static Hash_readHash (void)
 
static SetOp_readSetOp (void)
 
static LockRows_readLockRows (void)
 
static Limit_readLimit (void)
 
static NestLoopParam_readNestLoopParam (void)
 
static PlanRowMark_readPlanRowMark (void)
 
static PartitionPruneInfo_readPartitionPruneInfo (void)
 
static PartitionedRelPruneInfo_readPartitionedRelPruneInfo (void)
 
static PartitionPruneStepOp_readPartitionPruneStepOp (void)
 
static PartitionPruneStepCombine_readPartitionPruneStepCombine (void)
 
static PlanInvalItem_readPlanInvalItem (void)
 
static SubPlan_readSubPlan (void)
 
static AlternativeSubPlan_readAlternativeSubPlan (void)
 
static ExtensibleNode_readExtensibleNode (void)
 
static PartitionBoundSpec_readPartitionBoundSpec (void)
 
static PartitionRangeDatum_readPartitionRangeDatum (void)
 
NodeparseNodeString (void)
 
Datum readDatum (bool typbyval)
 
AttrNumberreadAttrNumberCols (int numCols)
 
OidreadOidCols (int numCols)
 
int * readIntCols (int numCols)
 
boolreadBoolCols (int numCols)
 

Macro Definition Documentation

◆ atoui

#define atoui (   x)    ((unsigned int) strtoul((x), NULL, 10))

Definition at line 185 of file readfuncs.c.

Referenced by readDatum().

◆ MATCH

#define MATCH (   tokname,
  namelen 
)    (length == namelen && memcmp(token, tokname, namelen) == 0)

Referenced by parseNodeString().

◆ nullable_string

#define nullable_string (   token,
  length 
)    ((length) == 0 ? NULL : debackslash(token, length))

Definition at line 189 of file readfuncs.c.

Referenced by _readCustomScan(), and _readExtensibleNode().

◆ READ_ATTRNUMBER_ARRAY

#define READ_ATTRNUMBER_ARRAY (   fldname,
  len 
)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
local_node->fldname = readAttrNumberCols(len)
AttrNumber * readAttrNumberCols(int numCols)
Definition: readfuncs.c:2958
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 155 of file readfuncs.c.

Referenced by _readAgg(), _readAppendRelInfo(), _readGatherMerge(), _readGroup(), _readLimit(), _readMergeAppend(), _readRecursiveUnion(), _readSetOp(), _readUnique(), _readWindowAgg(), and ReadCommonSort().

◆ READ_BITMAPSET_FIELD

#define READ_BITMAPSET_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
(void) token; /* in case not used elsewhere */ \
local_node->fldname = _readBitmapset()
const char * pg_strtok(int *length)
Definition: read.c:152
static Bitmapset * _readBitmapset(void)
Definition: readfuncs.c:197

Definition at line 149 of file readfuncs.c.

Referenced by _readAgg(), _readAppend(), _readCustomScan(), _readForeignScan(), _readGather(), _readGatherMerge(), _readMergeAppend(), _readModifyTable(), _readPartitionedRelPruneInfo(), _readPartitionPruneInfo(), _readPartitionPruneStepOp(), _readPlannedStmt(), _readRangeTblEntry(), _readRangeTblFunction(), _readTableFunc(), and ReadCommonPlan().

◆ READ_BOOL_ARRAY

#define READ_BOOL_ARRAY (   fldname,
  len 
)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
local_node->fldname = readBoolCols(len)
bool * readBoolCols(int numCols)
Definition: readfuncs.c:3030
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 170 of file readfuncs.c.

Referenced by _readGatherMerge(), _readMergeAppend(), _readMergeJoin(), and ReadCommonSort().

◆ READ_BOOL_FIELD

◆ READ_CHAR_FIELD

#define READ_CHAR_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
token = pg_strtok(&length); /* get field value */ \
/* avoid overhead of calling debackslash() for one char */ \
local_node->fldname = (length == 0) ? '\0' : (token[0] == '\\' ? token[1] : token[0])
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 98 of file readfuncs.c.

Referenced by _readAggref(), _readPartitionBoundSpec(), _readRangeTblEntry(), and _readRangeVar().

◆ READ_DONE

#define READ_DONE ( )    return local_node

Definition at line 175 of file readfuncs.c.

Referenced by _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readAppendRelInfo(), _readArrayCoerceExpr(), _readArrayExpr(), _readBitmapAnd(), _readBitmapHeapScan(), _readBitmapIndexScan(), _readBitmapOr(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseTestExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readCteScan(), _readCurrentOfExpr(), _readCustomScan(), _readDeclareCursorStmt(), _readDefElem(), _readDistinctExpr(), _readExtensibleNode(), _readFieldSelect(), _readFieldStore(), _readForeignScan(), _readFromExpr(), _readFuncExpr(), _readFunctionScan(), _readGather(), _readGatherMerge(), _readGroup(), _readGroupingFunc(), _readGroupingSet(), _readHash(), _readHashJoin(), _readIncrementalSort(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoin(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMaterial(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNamedTuplestoreScan(), _readNestLoop(), _readNestLoopParam(), _readNextValueExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readParam(), _readPartitionBoundSpec(), _readPartitionedRelPruneInfo(), _readPartitionPruneInfo(), _readPartitionPruneStepCombine(), _readPartitionPruneStepOp(), _readPartitionRangeDatum(), _readPlan(), _readPlanInvalItem(), _readPlannedStmt(), _readPlanRowMark(), _readProjectSet(), _readQuery(), _readRangeTblEntry(), _readRangeTblFunction(), _readRangeTblRef(), _readRangeVar(), _readRecursiveUnion(), _readRelabelType(), _readResult(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readSampleScan(), _readScalarArrayOpExpr(), _readScan(), _readSeqScan(), _readSetOp(), _readSetOperationStmt(), _readSetToDefault(), _readSort(), _readSortGroupClause(), _readSQLValueFunction(), _readSubLink(), _readSubPlan(), _readSubqueryScan(), _readSubscriptingRef(), _readTableFunc(), _readTableFuncScan(), _readTableSampleClause(), _readTargetEntry(), _readTidScan(), _readUnique(), _readValuesScan(), _readVar(), _readWindowAgg(), _readWindowClause(), _readWindowFunc(), _readWithCheckOption(), _readWorkTableScan(), and _readXmlExpr().

◆ READ_ENUM_FIELD

◆ READ_FLOAT_FIELD

#define READ_FLOAT_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
token = pg_strtok(&length); /* get field value */ \
local_node->fldname = atof(token)
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 111 of file readfuncs.c.

Referenced by _readHash(), _readRangeTblEntry(), _readSubPlan(), and ReadCommonPlan().

◆ READ_INT_ARRAY

#define READ_INT_ARRAY (   fldname,
  len 
)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
local_node->fldname = readIntCols(len)
int * readIntCols(int numCols)
Definition: readfuncs.c:3006
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 165 of file readfuncs.c.

Referenced by _readMergeJoin(), and _readPartitionedRelPruneInfo().

◆ READ_INT_FIELD

◆ READ_LOCALS

#define READ_LOCALS (   nodeTypeName)
Value:
READ_LOCALS_NO_FIELDS(nodeTypeName); \
READ_TEMP_LOCALS()
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54

Definition at line 63 of file readfuncs.c.

Referenced by _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readAppendRelInfo(), _readArrayCoerceExpr(), _readArrayExpr(), _readBitmapAnd(), _readBitmapHeapScan(), _readBitmapIndexScan(), _readBitmapOr(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseTestExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readCteScan(), _readCurrentOfExpr(), _readCustomScan(), _readDeclareCursorStmt(), _readDefElem(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readForeignScan(), _readFromExpr(), _readFuncExpr(), _readFunctionScan(), _readGather(), _readGatherMerge(), _readGroup(), _readGroupingFunc(), _readGroupingSet(), _readHash(), _readHashJoin(), _readIncrementalSort(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNamedTuplestoreScan(), _readNestLoop(), _readNestLoopParam(), _readNextValueExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readParam(), _readPartitionBoundSpec(), _readPartitionedRelPruneInfo(), _readPartitionPruneInfo(), _readPartitionPruneStepCombine(), _readPartitionPruneStepOp(), _readPartitionRangeDatum(), _readPlanInvalItem(), _readPlannedStmt(), _readPlanRowMark(), _readQuery(), _readRangeTblEntry(), _readRangeTblFunction(), _readRangeTblRef(), _readRangeVar(), _readRecursiveUnion(), _readRelabelType(), _readResult(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readSampleScan(), _readScalarArrayOpExpr(), _readSetOp(), _readSetOperationStmt(), _readSetToDefault(), _readSortGroupClause(), _readSQLValueFunction(), _readSubLink(), _readSubPlan(), _readSubqueryScan(), _readSubscriptingRef(), _readTableFunc(), _readTableFuncScan(), _readTableSampleClause(), _readTargetEntry(), _readTidScan(), _readUnique(), _readValuesScan(), _readVar(), _readWindowAgg(), _readWindowClause(), _readWindowFunc(), _readWithCheckOption(), _readWorkTableScan(), and _readXmlExpr().

◆ READ_LOCALS_NO_FIELDS

#define READ_LOCALS_NO_FIELDS (   nodeTypeName)    nodeTypeName *local_node = makeNode(nodeTypeName)

◆ READ_LOCATION_FIELD

◆ READ_LONG_FIELD

#define READ_LONG_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
token = pg_strtok(&length); /* get field value */ \
local_node->fldname = atol(token)
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 86 of file readfuncs.c.

Referenced by _readAgg(), _readRecursiveUnion(), and _readSetOp().

◆ READ_NODE_FIELD

#define READ_NODE_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
(void) token; /* in case not used elsewhere */ \
local_node->fldname = nodeRead(NULL, 0)
void * nodeRead(const char *token, int tok_len)
Definition: read.c:316
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 143 of file readfuncs.c.

Referenced by _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readAppendRelInfo(), _readArrayCoerceExpr(), _readArrayExpr(), _readBitmapAnd(), _readBitmapHeapScan(), _readBitmapIndexScan(), _readBitmapOr(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConvertRowtypeExpr(), _readCustomScan(), _readDeclareCursorStmt(), _readDefElem(), _readDistinctExpr(), _readFieldSelect(), _readFieldStore(), _readForeignScan(), _readFromExpr(), _readFuncExpr(), _readFunctionScan(), _readGroupingFunc(), _readGroupingSet(), _readHash(), _readHashJoin(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNestLoop(), _readNestLoopParam(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readPartitionBoundSpec(), _readPartitionedRelPruneInfo(), _readPartitionPruneInfo(), _readPartitionPruneStepCombine(), _readPartitionPruneStepOp(), _readPartitionRangeDatum(), _readPlannedStmt(), _readQuery(), _readRangeTblEntry(), _readRangeTblFunction(), _readRangeVar(), _readRelabelType(), _readResult(), _readRowCompareExpr(), _readRowExpr(), _readSampleScan(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSubLink(), _readSubPlan(), _readSubqueryScan(), _readSubscriptingRef(), _readTableFunc(), _readTableFuncScan(), _readTableSampleClause(), _readTargetEntry(), _readTidScan(), _readValuesScan(), _readWindowAgg(), _readWindowClause(), _readWindowFunc(), _readWithCheckOption(), _readXmlExpr(), ReadCommonJoin(), and ReadCommonPlan().

◆ READ_OID_ARRAY

#define READ_OID_ARRAY (   fldname,
  len 
)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
local_node->fldname = readOidCols(len)
Oid * readOidCols(int numCols)
Definition: readfuncs.c:2982
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 160 of file readfuncs.c.

Referenced by _readAgg(), _readGatherMerge(), _readGroup(), _readLimit(), _readMergeAppend(), _readMergeJoin(), _readPartitionedRelPruneInfo(), _readRecursiveUnion(), _readSetOp(), _readUnique(), _readWindowAgg(), and ReadCommonSort().

◆ READ_OID_FIELD

◆ READ_STRING_FIELD

#define READ_STRING_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
token = pg_strtok(&length); /* get field value */ \
local_node->fldname = nullable_string(token, length)
const char * pg_strtok(int *length)
Definition: read.c:152
#define nullable_string(token, length)
Definition: readfuncs.c:189

Definition at line 123 of file readfuncs.c.

Referenced by _readAlias(), _readCommonTableExpr(), _readCurrentOfExpr(), _readDeclareCursorStmt(), _readDefElem(), _readIntoClause(), _readNamedArgExpr(), _readNamedTuplestoreScan(), _readNotifyStmt(), _readRangeTblEntry(), _readRangeVar(), _readSubPlan(), _readTargetEntry(), _readWindowClause(), _readWithCheckOption(), and _readXmlExpr().

◆ READ_TEMP_LOCALS

#define READ_TEMP_LOCALS ( )
Value:
const char *token; \
int length

Definition at line 58 of file readfuncs.c.

Referenced by _readBitmapset(), _readExtensibleNode(), parseNodeString(), ReadCommonJoin(), ReadCommonPlan(), ReadCommonScan(), and ReadCommonSort().

◆ READ_UINT64_FIELD

#define READ_UINT64_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
token = pg_strtok(&length); /* get field value */ \
local_node->fldname = pg_strtouint64(token, NULL, 10)
uint64 pg_strtouint64(const char *str, char **endptr, int base)
Definition: numutils.c:621
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 80 of file readfuncs.c.

Referenced by _readAgg(), and _readPlannedStmt().

◆ READ_UINT_FIELD

#define READ_UINT_FIELD (   fldname)
Value:
token = pg_strtok(&length); /* skip :fldname */ \
token = pg_strtok(&length); /* get field value */ \
local_node->fldname = atoui(token)
#define atoui(x)
Definition: readfuncs.c:185
const char * pg_strtok(int *length)
Definition: read.c:152

Definition at line 74 of file readfuncs.c.

Referenced by _readAggref(), _readAppendRelInfo(), _readCurrentOfExpr(), _readCustomScan(), _readGroupingFunc(), _readModifyTable(), _readPartitionedRelPruneInfo(), _readPlanInvalItem(), _readPlanRowMark(), _readRangeTblEntry(), _readRowMarkClause(), _readSortGroupClause(), _readTargetEntry(), _readVar(), _readWindowAgg(), _readWindowClause(), _readWindowFunc(), and ReadCommonScan().

◆ strtobool

#define strtobool (   x)    ((*(x) == 't') ? true : false)

Definition at line 187 of file readfuncs.c.

Referenced by readBoolCols().

Function Documentation

◆ _readAgg()

static Agg* _readAgg ( void  )
static

Definition at line 2221 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_BITMAPSET_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LONG_FIELD, READ_NODE_FIELD, READ_OID_ARRAY, READ_UINT64_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

2222 {
2223  READ_LOCALS(Agg);
2224 
2225  ReadCommonPlan(&local_node->plan);
2226 
2227  READ_ENUM_FIELD(aggstrategy, AggStrategy);
2228  READ_ENUM_FIELD(aggsplit, AggSplit);
2229  READ_INT_FIELD(numCols);
2230  READ_ATTRNUMBER_ARRAY(grpColIdx, local_node->numCols);
2231  READ_OID_ARRAY(grpOperators, local_node->numCols);
2232  READ_OID_ARRAY(grpCollations, local_node->numCols);
2233  READ_LONG_FIELD(numGroups);
2234  READ_UINT64_FIELD(transitionSpace);
2235  READ_BITMAPSET_FIELD(aggParams);
2236  READ_NODE_FIELD(groupingSets);
2237  READ_NODE_FIELD(chain);
2238 
2239  READ_DONE();
2240 }
#define READ_LONG_FIELD(fldname)
Definition: readfuncs.c:86
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_UINT64_FIELD(fldname)
Definition: readfuncs.c:80
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
AggSplit
Definition: nodes.h:778
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
AggStrategy
Definition: nodes.h:756
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
Definition: plannodes.h:816
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readAggref()

static Aggref* _readAggref ( void  )
static

Definition at line 598 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_CHAR_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

599 {
601 
602  READ_OID_FIELD(aggfnoid);
603  READ_OID_FIELD(aggtype);
604  READ_OID_FIELD(aggcollid);
605  READ_OID_FIELD(inputcollid);
606  READ_OID_FIELD(aggtranstype);
607  READ_NODE_FIELD(aggargtypes);
608  READ_NODE_FIELD(aggdirectargs);
610  READ_NODE_FIELD(aggorder);
611  READ_NODE_FIELD(aggdistinct);
612  READ_NODE_FIELD(aggfilter);
613  READ_BOOL_FIELD(aggstar);
614  READ_BOOL_FIELD(aggvariadic);
615  READ_CHAR_FIELD(aggkind);
616  READ_UINT_FIELD(agglevelsup);
617  READ_ENUM_FIELD(aggsplit, AggSplit);
618  READ_INT_FIELD(aggno);
619  READ_INT_FIELD(aggtransno);
620  READ_LOCATION_FIELD(location);
621 
622  READ_DONE();
623 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:98
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
AggSplit
Definition: nodes.h:778
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readAlias()

static Alias* _readAlias ( void  )
static

Definition at line 461 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

462 {
464 
465  READ_STRING_FIELD(aliasname);
466  READ_NODE_FIELD(colnames);
467 
468  READ_DONE();
469 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readAlternativeSubPlan()

static AlternativeSubPlan* _readAlternativeSubPlan ( void  )
static

Definition at line 2546 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2547 {
2549 
2550  READ_NODE_FIELD(subplans);
2551 
2552  READ_DONE();
2553 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readAppend()

static Append* _readAppend ( void  )
static

Definition at line 1664 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

1665 {
1667 
1668  ReadCommonPlan(&local_node->plan);
1669 
1670  READ_BITMAPSET_FIELD(apprelids);
1671  READ_NODE_FIELD(appendplans);
1672  READ_INT_FIELD(first_partial_plan);
1673  READ_NODE_FIELD(part_prune_info);
1674 
1675  READ_DONE();
1676 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readAppendRelInfo()

static AppendRelInfo* _readAppendRelInfo ( void  )
static

Definition at line 1359 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

1360 {
1362 
1363  READ_UINT_FIELD(parent_relid);
1364  READ_UINT_FIELD(child_relid);
1365  READ_OID_FIELD(parent_reltype);
1366  READ_OID_FIELD(child_reltype);
1367  READ_NODE_FIELD(translated_vars);
1368  READ_INT_FIELD(num_child_cols);
1369  READ_ATTRNUMBER_ARRAY(parent_colnos, local_node->num_child_cols);
1370  READ_OID_FIELD(parent_reloid);
1371 
1372  READ_DONE();
1373 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readArrayCoerceExpr()

static ArrayCoerceExpr* _readArrayCoerceExpr ( void  )
static

Definition at line 919 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

920 {
922 
924  READ_NODE_FIELD(elemexpr);
925  READ_OID_FIELD(resulttype);
926  READ_INT_FIELD(resulttypmod);
927  READ_OID_FIELD(resultcollid);
928  READ_ENUM_FIELD(coerceformat, CoercionForm);
929  READ_LOCATION_FIELD(location);
930 
931  READ_DONE();
932 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
CoercionForm
Definition: primnodes.h:467

◆ _readArrayExpr()

static ArrayExpr* _readArrayExpr ( void  )
static

Definition at line 1017 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1018 {
1020 
1021  READ_OID_FIELD(array_typeid);
1022  READ_OID_FIELD(array_collid);
1023  READ_OID_FIELD(element_typeid);
1024  READ_NODE_FIELD(elements);
1025  READ_BOOL_FIELD(multidims);
1026  READ_LOCATION_FIELD(location);
1027 
1028  READ_DONE();
1029 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readBitmapAnd()

static BitmapAnd* _readBitmapAnd ( void  )
static

Definition at line 1724 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

1725 {
1727 
1728  ReadCommonPlan(&local_node->plan);
1729 
1730  READ_NODE_FIELD(bitmapplans);
1731 
1732  READ_DONE();
1733 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readBitmapHeapScan()

static BitmapHeapScan* _readBitmapHeapScan ( void  )
static

Definition at line 1868 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1869 {
1871 
1872  ReadCommonScan(&local_node->scan);
1873 
1874  READ_NODE_FIELD(bitmapqualorig);
1875 
1876  READ_DONE();
1877 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readBitmapIndexScan()

static BitmapIndexScan* _readBitmapIndexScan ( void  )
static

Definition at line 1850 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1851 {
1853 
1854  ReadCommonScan(&local_node->scan);
1855 
1856  READ_OID_FIELD(indexid);
1857  READ_BOOL_FIELD(isshared);
1858  READ_NODE_FIELD(indexqual);
1859  READ_NODE_FIELD(indexqualorig);
1860 
1861  READ_DONE();
1862 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readBitmapOr()

static BitmapOr* _readBitmapOr ( void  )
static

Definition at line 1739 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

1740 {
1742 
1743  ReadCommonPlan(&local_node->plan);
1744 
1745  READ_BOOL_FIELD(isshared);
1746  READ_NODE_FIELD(bitmapplans);
1747 
1748  READ_DONE();
1749 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readBitmapset()

static Bitmapset* _readBitmapset ( void  )
static

Definition at line 197 of file readfuncs.c.

References bms_add_member(), elog, ERROR, pg_strtok(), READ_TEMP_LOCALS, and val.

Referenced by readBitmapset().

198 {
199  Bitmapset *result = NULL;
200 
202 
203  token = pg_strtok(&length);
204  if (token == NULL)
205  elog(ERROR, "incomplete Bitmapset structure");
206  if (length != 1 || token[0] != '(')
207  elog(ERROR, "unrecognized token: \"%.*s\"", length, token);
208 
209  token = pg_strtok(&length);
210  if (token == NULL)
211  elog(ERROR, "incomplete Bitmapset structure");
212  if (length != 1 || token[0] != 'b')
213  elog(ERROR, "unrecognized token: \"%.*s\"", length, token);
214 
215  for (;;)
216  {
217  int val;
218  char *endptr;
219 
220  token = pg_strtok(&length);
221  if (token == NULL)
222  elog(ERROR, "unterminated Bitmapset structure");
223  if (length == 1 && token[0] == ')')
224  break;
225  val = (int) strtol(token, &endptr, 10);
226  if (endptr != token + length)
227  elog(ERROR, "unrecognized integer: \"%.*s\"", length, token);
228  result = bms_add_member(result, val);
229  }
230 
231  return result;
232 }
#define ERROR
Definition: elog.h:43
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:58
Bitmapset * bms_add_member(Bitmapset *a, int x)
Definition: bitmapset.c:736
#define elog(elevel,...)
Definition: elog.h:228
const char * pg_strtok(int *length)
Definition: read.c:152
long val
Definition: informix.c:664

◆ _readBooleanTest()

static BooleanTest* _readBooleanTest ( void  )
static

Definition at line 1157 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

1158 {
1160 
1162  READ_ENUM_FIELD(booltesttype, BoolTestType);
1163  READ_LOCATION_FIELD(location);
1164 
1165  READ_DONE();
1166 }
BoolTestType
Definition: primnodes.h:1249
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
void * arg
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readBoolExpr()

static BoolExpr* _readBoolExpr ( void  )
static

Definition at line 803 of file readfuncs.c.

References AND_EXPR, generate_unaccent_rules::args, elog, ERROR, NOT_EXPR, OR_EXPR, pg_strtok(), READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

804 {
806 
807  /* do-it-yourself enum representation */
808  token = pg_strtok(&length); /* skip :boolop */
809  token = pg_strtok(&length); /* get field value */
810  if (strncmp(token, "and", 3) == 0)
811  local_node->boolop = AND_EXPR;
812  else if (strncmp(token, "or", 2) == 0)
813  local_node->boolop = OR_EXPR;
814  else if (strncmp(token, "not", 3) == 0)
815  local_node->boolop = NOT_EXPR;
816  else
817  elog(ERROR, "unrecognized boolop \"%.*s\"", length, token);
818 
820  READ_LOCATION_FIELD(location);
821 
822  READ_DONE();
823 }
#define ERROR
Definition: elog.h:43
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define elog(elevel,...)
Definition: elog.h:228
const char * pg_strtok(int *length)
Definition: read.c:152
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readCaseExpr()

static CaseExpr* _readCaseExpr ( void  )
static

Definition at line 969 of file readfuncs.c.

References arg, generate_unaccent_rules::args, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

970 {
972 
973  READ_OID_FIELD(casetype);
974  READ_OID_FIELD(casecollid);
977  READ_NODE_FIELD(defresult);
978  READ_LOCATION_FIELD(location);
979 
980  READ_DONE();
981 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readCaseTestExpr()

static CaseTestExpr* _readCaseTestExpr ( void  )
static

Definition at line 1002 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_OID_FIELD.

Referenced by parseNodeString().

1003 {
1005 
1006  READ_OID_FIELD(typeId);
1007  READ_INT_FIELD(typeMod);
1008  READ_OID_FIELD(collation);
1009 
1010  READ_DONE();
1011 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readCaseWhen()

static CaseWhen* _readCaseWhen ( void  )
static

Definition at line 987 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

988 {
990 
991  READ_NODE_FIELD(expr);
992  READ_NODE_FIELD(result);
993  READ_LOCATION_FIELD(location);
994 
995  READ_DONE();
996 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readCoalesceExpr()

static CoalesceExpr* _readCoalesceExpr ( void  )
static

Definition at line 1070 of file readfuncs.c.

References generate_unaccent_rules::args, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1071 {
1073 
1074  READ_OID_FIELD(coalescetype);
1075  READ_OID_FIELD(coalescecollid);
1077  READ_LOCATION_FIELD(location);
1078 
1079  READ_DONE();
1080 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readCoerceToDomain()

static CoerceToDomain* _readCoerceToDomain ( void  )
static

Definition at line 1172 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1173 {
1175 
1177  READ_OID_FIELD(resulttype);
1178  READ_INT_FIELD(resulttypmod);
1179  READ_OID_FIELD(resultcollid);
1180  READ_ENUM_FIELD(coercionformat, CoercionForm);
1181  READ_LOCATION_FIELD(location);
1182 
1183  READ_DONE();
1184 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
CoercionForm
Definition: primnodes.h:467

◆ _readCoerceToDomainValue()

static CoerceToDomainValue* _readCoerceToDomainValue ( void  )
static

Definition at line 1190 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1191 {
1193 
1194  READ_OID_FIELD(typeId);
1195  READ_INT_FIELD(typeMod);
1196  READ_OID_FIELD(collation);
1197  READ_LOCATION_FIELD(location);
1198 
1199  READ_DONE();
1200 }
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readCoerceViaIO()

static CoerceViaIO* _readCoerceViaIO ( void  )
static

Definition at line 902 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

903 {
905 
907  READ_OID_FIELD(resulttype);
908  READ_OID_FIELD(resultcollid);
909  READ_ENUM_FIELD(coerceformat, CoercionForm);
910  READ_LOCATION_FIELD(location);
911 
912  READ_DONE();
913 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175
CoercionForm
Definition: primnodes.h:467

◆ _readCollateExpr()

static CollateExpr* _readCollateExpr ( void  )
static

Definition at line 954 of file readfuncs.c.

References arg, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

955 {
957 
959  READ_OID_FIELD(collOid);
960  READ_LOCATION_FIELD(location);
961 
962  READ_DONE();
963 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readCommonTableExpr()

static CommonTableExpr* _readCommonTableExpr ( void  )
static

Definition at line 416 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

417 {
419 
420  READ_STRING_FIELD(ctename);
421  READ_NODE_FIELD(aliascolnames);
422  READ_ENUM_FIELD(ctematerialized, CTEMaterialize);
423  READ_NODE_FIELD(ctequery);
424  READ_LOCATION_FIELD(location);
425  READ_BOOL_FIELD(cterecursive);
426  READ_INT_FIELD(cterefcount);
427  READ_NODE_FIELD(ctecolnames);
428  READ_NODE_FIELD(ctecoltypes);
429  READ_NODE_FIELD(ctecoltypmods);
430  READ_NODE_FIELD(ctecolcollations);
431 
432  READ_DONE();
433 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
CTEMaterialize
Definition: parsenodes.h:1445
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readConst()

static Const* _readConst ( void  )
static

Definition at line 555 of file readfuncs.c.

References pg_strtok(), READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_OID_FIELD, and readDatum().

Referenced by parseNodeString().

556 {
558 
559  READ_OID_FIELD(consttype);
560  READ_INT_FIELD(consttypmod);
561  READ_OID_FIELD(constcollid);
562  READ_INT_FIELD(constlen);
563  READ_BOOL_FIELD(constbyval);
564  READ_BOOL_FIELD(constisnull);
565  READ_LOCATION_FIELD(location);
566 
567  token = pg_strtok(&length); /* skip :constvalue */
568  if (local_node->constisnull)
569  token = pg_strtok(&length); /* skip "<>" */
570  else
571  local_node->constvalue = readDatum(local_node->constbyval);
572 
573  READ_DONE();
574 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
Datum readDatum(bool typbyval)
Definition: readfuncs.c:2901
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
const char * pg_strtok(int *length)
Definition: read.c:152
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readConvertRowtypeExpr()

static ConvertRowtypeExpr* _readConvertRowtypeExpr ( void  )
static

Definition at line 938 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

939 {
941 
943  READ_OID_FIELD(resulttype);
944  READ_ENUM_FIELD(convertformat, CoercionForm);
945  READ_LOCATION_FIELD(location);
946 
947  READ_DONE();
948 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175
CoercionForm
Definition: primnodes.h:467

◆ _readCteScan()

static CteScan* _readCteScan ( void  )
static

Definition at line 1959 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and ReadCommonScan().

Referenced by parseNodeString().

1960 {
1962 
1963  ReadCommonScan(&local_node->scan);
1964 
1965  READ_INT_FIELD(ctePlanId);
1966  READ_INT_FIELD(cteParam);
1967 
1968  READ_DONE();
1969 }
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readCurrentOfExpr()

static CurrentOfExpr* _readCurrentOfExpr ( void  )
static

Definition at line 1222 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_STRING_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

1223 {
1225 
1226  READ_UINT_FIELD(cvarno);
1227  READ_STRING_FIELD(cursor_name);
1228  READ_INT_FIELD(cursor_param);
1229 
1230  READ_DONE();
1231 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readCustomScan()

static CustomScan* _readCustomScan ( void  )
static

Definition at line 2028 of file readfuncs.c.

References GetCustomScanMethods(), nullable_string, pg_strtok(), READ_BITMAPSET_FIELD, READ_DONE, READ_LOCALS, READ_NODE_FIELD, READ_UINT_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

2029 {
2031  char *custom_name;
2032  const CustomScanMethods *methods;
2033 
2034  ReadCommonScan(&local_node->scan);
2035 
2036  READ_UINT_FIELD(flags);
2037  READ_NODE_FIELD(custom_plans);
2038  READ_NODE_FIELD(custom_exprs);
2039  READ_NODE_FIELD(custom_private);
2040  READ_NODE_FIELD(custom_scan_tlist);
2041  READ_BITMAPSET_FIELD(custom_relids);
2042 
2043  /* Lookup CustomScanMethods by CustomName */
2044  token = pg_strtok(&length); /* skip methods: */
2045  token = pg_strtok(&length); /* CustomName */
2046  custom_name = nullable_string(token, length);
2047  methods = GetCustomScanMethods(custom_name, false);
2048  local_node->methods = methods;
2049 
2050  READ_DONE();
2051 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
const char * pg_strtok(int *length)
Definition: read.c:152
#define READ_DONE()
Definition: readfuncs.c:175
const CustomScanMethods * GetCustomScanMethods(const char *CustomName, bool missing_ok)
Definition: extensible.c:137
#define nullable_string(token, length)
Definition: readfuncs.c:189

◆ _readDeclareCursorStmt()

static DeclareCursorStmt* _readDeclareCursorStmt ( void  )
static

Definition at line 310 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

311 {
313 
314  READ_STRING_FIELD(portalname);
316  READ_NODE_FIELD(query);
317 
318  READ_DONE();
319 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readDefElem()

static DefElem* _readDefElem ( void  )
static

Definition at line 1510 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

1511 {
1513 
1514  READ_STRING_FIELD(defnamespace);
1515  READ_STRING_FIELD(defname);
1517  READ_ENUM_FIELD(defaction, DefElemAction);
1518  READ_LOCATION_FIELD(location);
1519 
1520  READ_DONE();
1521 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
DefElemAction
Definition: parsenodes.h:721
void * arg
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readDistinctExpr()

static DistinctExpr* _readDistinctExpr ( void  )
static

Definition at line 745 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

746 {
748 
749  READ_OID_FIELD(opno);
750  READ_OID_FIELD(opfuncid);
751  READ_OID_FIELD(opresulttype);
752  READ_BOOL_FIELD(opretset);
753  READ_OID_FIELD(opcollid);
754  READ_OID_FIELD(inputcollid);
756  READ_LOCATION_FIELD(location);
757 
758  READ_DONE();
759 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readExtensibleNode()

static ExtensibleNode* _readExtensibleNode ( void  )
static

Definition at line 2559 of file readfuncs.c.

References elog, ERROR, ExtensibleNode::extnodename, GetExtensibleNodeMethods(), newNode, ExtensibleNodeMethods::node_size, ExtensibleNodeMethods::nodeRead, nullable_string, pg_strtok(), READ_DONE, READ_TEMP_LOCALS, and T_ExtensibleNode.

Referenced by parseNodeString().

2560 {
2561  const ExtensibleNodeMethods *methods;
2562  ExtensibleNode *local_node;
2563  const char *extnodename;
2564 
2565  READ_TEMP_LOCALS();
2566 
2567  token = pg_strtok(&length); /* skip :extnodename */
2568  token = pg_strtok(&length); /* get extnodename */
2569 
2570  extnodename = nullable_string(token, length);
2571  if (!extnodename)
2572  elog(ERROR, "extnodename has to be supplied");
2573  methods = GetExtensibleNodeMethods(extnodename, false);
2574 
2575  local_node = (ExtensibleNode *) newNode(methods->node_size,
2577  local_node->extnodename = extnodename;
2578 
2579  /* deserialize the private fields */
2580  methods->nodeRead(local_node);
2581 
2582  READ_DONE();
2583 }
#define newNode(size, tag)
Definition: nodes.h:565
#define ERROR
Definition: elog.h:43
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:58
const char * extnodename
Definition: extensible.h:35
void(* nodeRead)(struct ExtensibleNode *node)
Definition: extensible.h:70
#define elog(elevel,...)
Definition: elog.h:228
const char * pg_strtok(int *length)
Definition: read.c:152
#define READ_DONE()
Definition: readfuncs.c:175
const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *extnodename, bool missing_ok)
Definition: extensible.c:125
#define nullable_string(token, length)
Definition: readfuncs.c:189

◆ _readFieldSelect()

static FieldSelect* _readFieldSelect ( void  )
static

Definition at line 851 of file readfuncs.c.

References arg, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

852 {
854 
856  READ_INT_FIELD(fieldnum);
857  READ_OID_FIELD(resulttype);
858  READ_INT_FIELD(resulttypmod);
859  READ_OID_FIELD(resultcollid);
860 
861  READ_DONE();
862 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readFieldStore()

static FieldStore* _readFieldStore ( void  )
static

Definition at line 868 of file readfuncs.c.

References arg, READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

869 {
871 
873  READ_NODE_FIELD(newvals);
874  READ_NODE_FIELD(fieldnums);
875  READ_OID_FIELD(resulttype);
876 
877  READ_DONE();
878 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readForeignScan()

static ForeignScan* _readForeignScan ( void  )
static

Definition at line 2005 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

2006 {
2008 
2009  ReadCommonScan(&local_node->scan);
2010 
2011  READ_ENUM_FIELD(operation, CmdType);
2012  READ_OID_FIELD(fs_server);
2013  READ_NODE_FIELD(fdw_exprs);
2014  READ_NODE_FIELD(fdw_private);
2015  READ_NODE_FIELD(fdw_scan_tlist);
2016  READ_NODE_FIELD(fdw_recheck_quals);
2017  READ_BITMAPSET_FIELD(fs_relids);
2018  READ_BOOL_FIELD(fsSystemCol);
2019  READ_INT_FIELD(resultRelation);
2020 
2021  READ_DONE();
2022 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
CmdType
Definition: nodes.h:670

◆ _readFromExpr()

static FromExpr* _readFromExpr ( void  )
static

Definition at line 1318 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

1319 {
1321 
1322  READ_NODE_FIELD(fromlist);
1323  READ_NODE_FIELD(quals);
1324 
1325  READ_DONE();
1326 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readFuncExpr()

static FuncExpr* _readFuncExpr ( void  )
static

Definition at line 688 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

689 {
691 
692  READ_OID_FIELD(funcid);
693  READ_OID_FIELD(funcresulttype);
694  READ_BOOL_FIELD(funcretset);
695  READ_BOOL_FIELD(funcvariadic);
696  READ_ENUM_FIELD(funcformat, CoercionForm);
697  READ_OID_FIELD(funccollid);
698  READ_OID_FIELD(inputcollid);
700  READ_LOCATION_FIELD(location);
701 
702  READ_DONE();
703 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
CoercionForm
Definition: primnodes.h:467

◆ _readFunctionScan()

static FunctionScan* _readFunctionScan ( void  )
static

Definition at line 1913 of file readfuncs.c.

References functions, READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1914 {
1916 
1917  ReadCommonScan(&local_node->scan);
1918 
1920  READ_BOOL_FIELD(funcordinality);
1921 
1922  READ_DONE();
1923 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
static const struct fns functions
Definition: regcomp.c:298
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readGather()

static Gather* _readGather ( void  )
static

Definition at line 2295 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, and ReadCommonPlan().

Referenced by parseNodeString().

2296 {
2298 
2299  ReadCommonPlan(&local_node->plan);
2300 
2301  READ_INT_FIELD(num_workers);
2302  READ_INT_FIELD(rescan_param);
2303  READ_BOOL_FIELD(single_copy);
2304  READ_BOOL_FIELD(invisible);
2305  READ_BITMAPSET_FIELD(initParam);
2306 
2307  READ_DONE();
2308 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readGatherMerge()

static GatherMerge* _readGatherMerge ( void  )
static

Definition at line 2314 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_BITMAPSET_FIELD, READ_BOOL_ARRAY, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

2315 {
2317 
2318  ReadCommonPlan(&local_node->plan);
2319 
2320  READ_INT_FIELD(num_workers);
2321  READ_INT_FIELD(rescan_param);
2322  READ_INT_FIELD(numCols);
2323  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
2324  READ_OID_ARRAY(sortOperators, local_node->numCols);
2325  READ_OID_ARRAY(collations, local_node->numCols);
2326  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
2327  READ_BITMAPSET_FIELD(initParam);
2328 
2329  READ_DONE();
2330 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:170
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readGroup()

static Group* _readGroup ( void  )
static

Definition at line 2203 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

2204 {
2205  READ_LOCALS(Group);
2206 
2207  ReadCommonPlan(&local_node->plan);
2208 
2209  READ_INT_FIELD(numCols);
2210  READ_ATTRNUMBER_ARRAY(grpColIdx, local_node->numCols);
2211  READ_OID_ARRAY(grpOperators, local_node->numCols);
2212  READ_OID_ARRAY(grpCollations, local_node->numCols);
2213 
2214  READ_DONE();
2215 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readGroupingFunc()

static GroupingFunc* _readGroupingFunc ( void  )
static

Definition at line 629 of file readfuncs.c.

References generate_unaccent_rules::args, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

630 {
632 
634  READ_NODE_FIELD(refs);
635  READ_NODE_FIELD(cols);
636  READ_UINT_FIELD(agglevelsup);
637  READ_LOCATION_FIELD(location);
638 
639  READ_DONE();
640 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readGroupingSet()

static GroupingSet* _readGroupingSet ( void  )
static

Definition at line 359 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

360 {
362 
364  READ_NODE_FIELD(content);
365  READ_LOCATION_FIELD(location);
366 
367  READ_DONE();
368 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
GroupingSetKind
Definition: parsenodes.h:1319
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readHash()

static Hash* _readHash ( void  )
static

Definition at line 2336 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_FLOAT_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

2337 {
2338  READ_LOCALS(Hash);
2339 
2340  ReadCommonPlan(&local_node->plan);
2341 
2342  READ_NODE_FIELD(hashkeys);
2343  READ_OID_FIELD(skewTable);
2344  READ_INT_FIELD(skewColumn);
2345  READ_BOOL_FIELD(skewInherit);
2346  READ_FLOAT_FIELD(rows_total);
2347 
2348  READ_DONE();
2349 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:111
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readHashJoin()

static HashJoin* _readHashJoin ( void  )
static

Definition at line 2126 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonJoin().

Referenced by parseNodeString().

2127 {
2129 
2130  ReadCommonJoin(&local_node->join);
2131 
2132  READ_NODE_FIELD(hashclauses);
2133  READ_NODE_FIELD(hashoperators);
2134  READ_NODE_FIELD(hashcollations);
2135  READ_NODE_FIELD(hashkeys);
2136 
2137  READ_DONE();
2138 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:2058
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readIncrementalSort()

static IncrementalSort* _readIncrementalSort ( void  )
static

Definition at line 2188 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and ReadCommonSort().

Referenced by parseNodeString().

2189 {
2191 
2192  ReadCommonSort(&local_node->sort);
2193 
2194  READ_INT_FIELD(nPresortedCols);
2195 
2196  READ_DONE();
2197 }
static void ReadCommonSort(Sort *local_node)
Definition: readfuncs.c:2158
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readIndexOnlyScan()

static IndexOnlyScan* _readIndexOnlyScan ( void  )
static

Definition at line 1831 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1832 {
1834 
1835  ReadCommonScan(&local_node->scan);
1836 
1837  READ_OID_FIELD(indexid);
1838  READ_NODE_FIELD(indexqual);
1839  READ_NODE_FIELD(indexorderby);
1840  READ_NODE_FIELD(indextlist);
1841  READ_ENUM_FIELD(indexorderdir, ScanDirection);
1842 
1843  READ_DONE();
1844 }
ScanDirection
Definition: sdir.h:22
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readIndexScan()

static IndexScan* _readIndexScan ( void  )
static

Definition at line 1810 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1811 {
1813 
1814  ReadCommonScan(&local_node->scan);
1815 
1816  READ_OID_FIELD(indexid);
1817  READ_NODE_FIELD(indexqual);
1818  READ_NODE_FIELD(indexqualorig);
1819  READ_NODE_FIELD(indexorderby);
1820  READ_NODE_FIELD(indexorderbyorig);
1821  READ_NODE_FIELD(indexorderbyops);
1822  READ_ENUM_FIELD(indexorderdir, ScanDirection);
1823 
1824  READ_DONE();
1825 }
ScanDirection
Definition: sdir.h:22
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readInferenceElem()

static InferenceElem* _readInferenceElem ( void  )
static

Definition at line 1251 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1252 {
1254 
1255  READ_NODE_FIELD(expr);
1256  READ_OID_FIELD(infercollid);
1257  READ_OID_FIELD(inferopclass);
1258 
1259  READ_DONE();
1260 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readIntoClause()

static IntoClause* _readIntoClause ( void  )
static

Definition at line 514 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

515 {
517 
518  READ_NODE_FIELD(rel);
519  READ_NODE_FIELD(colNames);
520  READ_STRING_FIELD(accessMethod);
522  READ_ENUM_FIELD(onCommit, OnCommitAction);
523  READ_STRING_FIELD(tableSpaceName);
524  READ_NODE_FIELD(viewQuery);
525  READ_BOOL_FIELD(skipData);
526 
527  READ_DONE();
528 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
OnCommitAction
Definition: primnodes.h:47
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readJoin()

static Join* _readJoin ( void  )
static

Definition at line 2073 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonJoin().

Referenced by parseNodeString().

2074 {
2076 
2077  ReadCommonJoin(local_node);
2078 
2079  READ_DONE();
2080 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:2058
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readJoinExpr()

static JoinExpr* _readJoinExpr ( void  )
static

Definition at line 1298 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

1299 {
1301 
1302  READ_ENUM_FIELD(jointype, JoinType);
1303  READ_BOOL_FIELD(isNatural);
1304  READ_NODE_FIELD(larg);
1305  READ_NODE_FIELD(rarg);
1306  READ_NODE_FIELD(usingClause);
1307  READ_NODE_FIELD(quals);
1308  READ_NODE_FIELD(alias);
1309  READ_INT_FIELD(rtindex);
1310 
1311  READ_DONE();
1312 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
JoinType
Definition: nodes.h:694
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readLimit()

static Limit* _readLimit ( void  )
static

Definition at line 2394 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

2395 {
2396  READ_LOCALS(Limit);
2397 
2398  ReadCommonPlan(&local_node->plan);
2399 
2400  READ_NODE_FIELD(limitOffset);
2401  READ_NODE_FIELD(limitCount);
2402  READ_ENUM_FIELD(limitOption, LimitOption);
2403  READ_INT_FIELD(uniqNumCols);
2404  READ_ATTRNUMBER_ARRAY(uniqColIdx, local_node->uniqNumCols);
2405  READ_OID_ARRAY(uniqOperators, local_node->uniqNumCols);
2406  READ_OID_ARRAY(uniqCollations, local_node->uniqNumCols);
2407 
2408  READ_DONE();
2409 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
LimitOption
Definition: nodes.h:833
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readLockRows()

static LockRows* _readLockRows ( void  )
static

Definition at line 2378 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

2379 {
2381 
2382  ReadCommonPlan(&local_node->plan);
2383 
2384  READ_NODE_FIELD(rowMarks);
2385  READ_INT_FIELD(epqParam);
2386 
2387  READ_DONE();
2388 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readMaterial()

static Material* _readMaterial ( void  )
static

Definition at line 2144 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonPlan().

Referenced by parseNodeString().

2145 {
2147 
2148  ReadCommonPlan(&local_node->plan);
2149 
2150  READ_DONE();
2151 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readMergeAppend()

static MergeAppend* _readMergeAppend ( void  )
static

Definition at line 1682 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_BITMAPSET_FIELD, READ_BOOL_ARRAY, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

1683 {
1685 
1686  ReadCommonPlan(&local_node->plan);
1687 
1688  READ_BITMAPSET_FIELD(apprelids);
1689  READ_NODE_FIELD(mergeplans);
1690  READ_INT_FIELD(numCols);
1691  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
1692  READ_OID_ARRAY(sortOperators, local_node->numCols);
1693  READ_OID_ARRAY(collations, local_node->numCols);
1694  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
1695  READ_NODE_FIELD(part_prune_info);
1696 
1697  READ_DONE();
1698 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:170
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readMergeJoin()

static MergeJoin* _readMergeJoin ( void  )
static

Definition at line 2101 of file readfuncs.c.

References list_length(), READ_BOOL_ARRAY, READ_BOOL_FIELD, READ_DONE, READ_INT_ARRAY, READ_LOCALS, READ_NODE_FIELD, READ_OID_ARRAY, and ReadCommonJoin().

Referenced by parseNodeString().

2102 {
2103  int numCols;
2104 
2106 
2107  ReadCommonJoin(&local_node->join);
2108 
2109  READ_BOOL_FIELD(skip_mark_restore);
2110  READ_NODE_FIELD(mergeclauses);
2111 
2112  numCols = list_length(local_node->mergeclauses);
2113 
2114  READ_OID_ARRAY(mergeFamilies, numCols);
2115  READ_OID_ARRAY(mergeCollations, numCols);
2116  READ_INT_ARRAY(mergeStrategies, numCols);
2117  READ_BOOL_ARRAY(mergeNullsFirst, numCols);
2118 
2119  READ_DONE();
2120 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:170
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:2058
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
static int list_length(const List *l)
Definition: pg_list.h:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_ARRAY(fldname, len)
Definition: readfuncs.c:165

◆ _readMinMaxExpr()

static MinMaxExpr* _readMinMaxExpr ( void  )
static

Definition at line 1086 of file readfuncs.c.

References generate_unaccent_rules::args, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1087 {
1089 
1090  READ_OID_FIELD(minmaxtype);
1091  READ_OID_FIELD(minmaxcollid);
1092  READ_OID_FIELD(inputcollid);
1095  READ_LOCATION_FIELD(location);
1096 
1097  READ_DONE();
1098 }
MinMaxOp
Definition: primnodes.h:1108
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readModifyTable()

static ModifyTable* _readModifyTable ( void  )
static

Definition at line 1631 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_UINT_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

1632 {
1634 
1635  ReadCommonPlan(&local_node->plan);
1636 
1637  READ_ENUM_FIELD(operation, CmdType);
1638  READ_BOOL_FIELD(canSetTag);
1639  READ_UINT_FIELD(nominalRelation);
1640  READ_UINT_FIELD(rootRelation);
1641  READ_BOOL_FIELD(partColsUpdated);
1642  READ_NODE_FIELD(resultRelations);
1643  READ_NODE_FIELD(plans);
1644  READ_NODE_FIELD(withCheckOptionLists);
1645  READ_NODE_FIELD(returningLists);
1646  READ_NODE_FIELD(fdwPrivLists);
1647  READ_BITMAPSET_FIELD(fdwDirectModifyPlans);
1648  READ_NODE_FIELD(rowMarks);
1649  READ_INT_FIELD(epqParam);
1650  READ_ENUM_FIELD(onConflictAction, OnConflictAction);
1651  READ_NODE_FIELD(arbiterIndexes);
1652  READ_NODE_FIELD(onConflictSet);
1653  READ_NODE_FIELD(onConflictWhere);
1654  READ_UINT_FIELD(exclRelRTI);
1655  READ_NODE_FIELD(exclRelTlist);
1656 
1657  READ_DONE();
1658 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
OnConflictAction
Definition: nodes.h:820
CmdType
Definition: nodes.h:670

◆ _readNamedArgExpr()

static NamedArgExpr* _readNamedArgExpr ( void  )
static

Definition at line 709 of file readfuncs.c.

References arg, name, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

710 {
712 
715  READ_INT_FIELD(argnumber);
716  READ_LOCATION_FIELD(location);
717 
718  READ_DONE();
719 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
const char * name
Definition: encode.c:561
void * arg
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readNamedTuplestoreScan()

static NamedTuplestoreScan* _readNamedTuplestoreScan ( void  )
static

Definition at line 1975 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_STRING_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1976 {
1978 
1979  ReadCommonScan(&local_node->scan);
1980 
1981  READ_STRING_FIELD(enrname);
1982 
1983  READ_DONE();
1984 }
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readNestLoop()

static NestLoop* _readNestLoop ( void  )
static

Definition at line 2086 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonJoin().

Referenced by parseNodeString().

2087 {
2089 
2090  ReadCommonJoin(&local_node->join);
2091 
2092  READ_NODE_FIELD(nestParams);
2093 
2094  READ_DONE();
2095 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:2058
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readNestLoopParam()

static NestLoopParam* _readNestLoopParam ( void  )
static

Definition at line 2415 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2416 {
2418 
2419  READ_INT_FIELD(paramno);
2420  READ_NODE_FIELD(paramval);
2421 
2422  READ_DONE();
2423 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readNextValueExpr()

static NextValueExpr* _readNextValueExpr ( void  )
static

Definition at line 1237 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_OID_FIELD.

Referenced by parseNodeString().

1238 {
1240 
1241  READ_OID_FIELD(seqid);
1242  READ_OID_FIELD(typeId);
1243 
1244  READ_DONE();
1245 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readNotifyStmt()

static NotifyStmt* _readNotifyStmt ( void  )
static

Definition at line 296 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_STRING_FIELD.

Referenced by parseNodeString().

297 {
299 
300  READ_STRING_FIELD(conditionname);
301  READ_STRING_FIELD(payload);
302 
303  READ_DONE();
304 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readNullIfExpr()

static NullIfExpr* _readNullIfExpr ( void  )
static

Definition at line 765 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

766 {
768 
769  READ_OID_FIELD(opno);
770  READ_OID_FIELD(opfuncid);
771  READ_OID_FIELD(opresulttype);
772  READ_BOOL_FIELD(opretset);
773  READ_OID_FIELD(opcollid);
774  READ_OID_FIELD(inputcollid);
776  READ_LOCATION_FIELD(location);
777 
778  READ_DONE();
779 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readNullTest()

static NullTest* _readNullTest ( void  )
static

Definition at line 1141 of file readfuncs.c.

References arg, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

1142 {
1144 
1146  READ_ENUM_FIELD(nulltesttype, NullTestType);
1147  READ_BOOL_FIELD(argisrow);
1148  READ_LOCATION_FIELD(location);
1149 
1150  READ_DONE();
1151 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
NullTestType
Definition: primnodes.h:1226
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
void * arg
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readOnConflictExpr()

static OnConflictExpr* _readOnConflictExpr ( void  )
static

Definition at line 1332 of file readfuncs.c.

References generate_unaccent_rules::action, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1333 {
1335 
1337  READ_NODE_FIELD(arbiterElems);
1338  READ_NODE_FIELD(arbiterWhere);
1339  READ_OID_FIELD(constraint);
1340  READ_NODE_FIELD(onConflictSet);
1341  READ_NODE_FIELD(onConflictWhere);
1342  READ_INT_FIELD(exclRelIndex);
1343  READ_NODE_FIELD(exclRelTlist);
1344 
1345  READ_DONE();
1346 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
OnConflictAction
Definition: nodes.h:820

◆ _readOpExpr()

static OpExpr* _readOpExpr ( void  )
static

Definition at line 725 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

726 {
728 
729  READ_OID_FIELD(opno);
730  READ_OID_FIELD(opfuncid);
731  READ_OID_FIELD(opresulttype);
732  READ_BOOL_FIELD(opretset);
733  READ_OID_FIELD(opcollid);
734  READ_OID_FIELD(inputcollid);
736  READ_LOCATION_FIELD(location);
737 
738  READ_DONE();
739 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readParam()

static Param* _readParam ( void  )
static

Definition at line 580 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

581 {
583 
584  READ_ENUM_FIELD(paramkind, ParamKind);
585  READ_INT_FIELD(paramid);
586  READ_OID_FIELD(paramtype);
587  READ_INT_FIELD(paramtypmod);
588  READ_OID_FIELD(paramcollid);
589  READ_LOCATION_FIELD(location);
590 
591  READ_DONE();
592 }
ParamKind
Definition: primnodes.h:251
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readPartitionBoundSpec()

static PartitionBoundSpec* _readPartitionBoundSpec ( void  )
static

Definition at line 2589 of file readfuncs.c.

References READ_BOOL_FIELD, READ_CHAR_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

2590 {
2592 
2593  READ_CHAR_FIELD(strategy);
2594  READ_BOOL_FIELD(is_default);
2595  READ_INT_FIELD(modulus);
2596  READ_INT_FIELD(remainder);
2597  READ_NODE_FIELD(listdatums);
2598  READ_NODE_FIELD(lowerdatums);
2599  READ_NODE_FIELD(upperdatums);
2600  READ_LOCATION_FIELD(location);
2601 
2602  READ_DONE();
2603 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:98
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readPartitionedRelPruneInfo()

static PartitionedRelPruneInfo* _readPartitionedRelPruneInfo ( void  )
static

Definition at line 2457 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_DONE, READ_INT_ARRAY, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_ARRAY, and READ_UINT_FIELD.

Referenced by parseNodeString().

2458 {
2460 
2461  READ_UINT_FIELD(rtindex);
2462  READ_BITMAPSET_FIELD(present_parts);
2463  READ_INT_FIELD(nparts);
2464  READ_INT_ARRAY(subplan_map, local_node->nparts);
2465  READ_INT_ARRAY(subpart_map, local_node->nparts);
2466  READ_OID_ARRAY(relid_map, local_node->nparts);
2467  READ_NODE_FIELD(initial_pruning_steps);
2468  READ_NODE_FIELD(exec_pruning_steps);
2469  READ_BITMAPSET_FIELD(execparamids);
2470 
2471  READ_DONE();
2472 }
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_INT_ARRAY(fldname, len)
Definition: readfuncs.c:165

◆ _readPartitionPruneInfo()

static PartitionPruneInfo* _readPartitionPruneInfo ( void  )
static

Definition at line 2446 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_DONE, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2447 {
2449 
2450  READ_NODE_FIELD(prune_infos);
2451  READ_BITMAPSET_FIELD(other_subplans);
2452 
2453  READ_DONE();
2454 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readPartitionPruneStepCombine()

static PartitionPruneStepCombine* _readPartitionPruneStepCombine ( void  )
static

Definition at line 2489 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2490 {
2492 
2493  READ_INT_FIELD(step.step_id);
2495  READ_NODE_FIELD(source_stepids);
2496 
2497  READ_DONE();
2498 }
PartitionPruneCombineOp
Definition: plannodes.h:1220
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readPartitionPruneStepOp()

static PartitionPruneStepOp* _readPartitionPruneStepOp ( void  )
static

Definition at line 2475 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2476 {
2478 
2479  READ_INT_FIELD(step.step_id);
2480  READ_INT_FIELD(opstrategy);
2481  READ_NODE_FIELD(exprs);
2482  READ_NODE_FIELD(cmpfns);
2483  READ_BITMAPSET_FIELD(nullkeys);
2484 
2485  READ_DONE();
2486 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readPartitionRangeDatum()

static PartitionRangeDatum* _readPartitionRangeDatum ( void  )
static

Definition at line 2609 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and value.

Referenced by parseNodeString().

2610 {
2612 
2615  READ_LOCATION_FIELD(location);
2616 
2617  READ_DONE();
2618 }
PartitionRangeDatumKind
Definition: parsenodes.h:837
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
static struct @143 value
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readPlan()

static Plan* _readPlan ( void  )
static

Definition at line 1590 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonPlan().

Referenced by parseNodeString().

1591 {
1593 
1594  ReadCommonPlan(local_node);
1595 
1596  READ_DONE();
1597 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readPlanInvalItem()

static PlanInvalItem* _readPlanInvalItem ( void  )
static

Definition at line 2504 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_UINT_FIELD.

Referenced by parseNodeString().

2505 {
2507 
2508  READ_INT_FIELD(cacheId);
2509  READ_UINT_FIELD(hashValue);
2510 
2511  READ_DONE();
2512 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readPlannedStmt()

static PlannedStmt* _readPlannedStmt ( void  )
static

Definition at line 1531 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_UINT64_FIELD.

Referenced by parseNodeString().

1532 {
1534 
1535  READ_ENUM_FIELD(commandType, CmdType);
1536  READ_UINT64_FIELD(queryId);
1537  READ_BOOL_FIELD(hasReturning);
1538  READ_BOOL_FIELD(hasModifyingCTE);
1539  READ_BOOL_FIELD(canSetTag);
1540  READ_BOOL_FIELD(transientPlan);
1541  READ_BOOL_FIELD(dependsOnRole);
1542  READ_BOOL_FIELD(parallelModeNeeded);
1543  READ_INT_FIELD(jitFlags);
1544  READ_NODE_FIELD(planTree);
1545  READ_NODE_FIELD(rtable);
1546  READ_NODE_FIELD(resultRelations);
1547  READ_NODE_FIELD(appendRelations);
1548  READ_NODE_FIELD(subplans);
1549  READ_BITMAPSET_FIELD(rewindPlanIDs);
1550  READ_NODE_FIELD(rowMarks);
1551  READ_NODE_FIELD(relationOids);
1552  READ_NODE_FIELD(invalItems);
1553  READ_NODE_FIELD(paramExecTypes);
1554  READ_NODE_FIELD(utilityStmt);
1555  READ_LOCATION_FIELD(stmt_location);
1556  READ_INT_FIELD(stmt_len);
1557 
1558  READ_DONE();
1559 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_UINT64_FIELD(fldname)
Definition: readfuncs.c:80
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
CmdType
Definition: nodes.h:670

◆ _readPlanRowMark()

static PlanRowMark* _readPlanRowMark ( void  )
static

Definition at line 2429 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, and READ_UINT_FIELD.

Referenced by parseNodeString().

2430 {
2432 
2433  READ_UINT_FIELD(rti);
2434  READ_UINT_FIELD(prti);
2435  READ_UINT_FIELD(rowmarkId);
2436  READ_ENUM_FIELD(markType, RowMarkType);
2437  READ_INT_FIELD(allMarkTypes);
2439  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
2440  READ_BOOL_FIELD(isParent);
2441 
2442  READ_DONE();
2443 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
LockClauseStrength
Definition: lockoptions.h:21
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
RowMarkType
Definition: plannodes.h:1023
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
LockWaitPolicy
Definition: lockoptions.h:36

◆ _readProjectSet()

static ProjectSet* _readProjectSet ( void  )
static

Definition at line 1618 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonPlan().

Referenced by parseNodeString().

1619 {
1621 
1622  ReadCommonPlan(&local_node->plan);
1623 
1624  READ_DONE();
1625 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readQuery()

static Query* _readQuery ( void  )
static

Definition at line 247 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

248 {
250 
251  READ_ENUM_FIELD(commandType, CmdType);
252  READ_ENUM_FIELD(querySource, QuerySource);
253  local_node->queryId = UINT64CONST(0); /* not saved in output format */
254  READ_BOOL_FIELD(canSetTag);
255  READ_NODE_FIELD(utilityStmt);
256  READ_INT_FIELD(resultRelation);
257  READ_BOOL_FIELD(hasAggs);
258  READ_BOOL_FIELD(hasWindowFuncs);
259  READ_BOOL_FIELD(hasTargetSRFs);
260  READ_BOOL_FIELD(hasSubLinks);
261  READ_BOOL_FIELD(hasDistinctOn);
262  READ_BOOL_FIELD(hasRecursive);
263  READ_BOOL_FIELD(hasModifyingCTE);
264  READ_BOOL_FIELD(hasForUpdate);
265  READ_BOOL_FIELD(hasRowSecurity);
266  READ_NODE_FIELD(cteList);
267  READ_NODE_FIELD(rtable);
268  READ_NODE_FIELD(jointree);
269  READ_NODE_FIELD(targetList);
270  READ_ENUM_FIELD(override, OverridingKind);
271  READ_NODE_FIELD(onConflict);
272  READ_NODE_FIELD(returningList);
273  READ_NODE_FIELD(groupClause);
274  READ_NODE_FIELD(groupingSets);
275  READ_NODE_FIELD(havingQual);
276  READ_NODE_FIELD(windowClause);
277  READ_NODE_FIELD(distinctClause);
278  READ_NODE_FIELD(sortClause);
279  READ_NODE_FIELD(limitOffset);
280  READ_NODE_FIELD(limitCount);
281  READ_ENUM_FIELD(limitOption, LimitOption);
282  READ_NODE_FIELD(rowMarks);
283  READ_NODE_FIELD(setOperations);
284  READ_NODE_FIELD(constraintDeps);
285  READ_NODE_FIELD(withCheckOptions);
286  READ_LOCATION_FIELD(stmt_location);
287  READ_INT_FIELD(stmt_len);
288 
289  READ_DONE();
290 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
QuerySource
Definition: parsenodes.h:40
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
LimitOption
Definition: nodes.h:833
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
CmdType
Definition: nodes.h:670
OverridingKind
Definition: parsenodes.h:32

◆ _readRangeTblEntry()

static RangeTblEntry* _readRangeTblEntry ( void  )
static

Definition at line 1383 of file readfuncs.c.

References TableFunc::colcollations, TableFunc::coltypes, TableFunc::coltypmods, elog, ERROR, functions, READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_CHAR_FIELD, READ_DONE, READ_ENUM_FIELD, READ_FLOAT_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, READ_UINT_FIELD, RTE_CTE, RTE_FUNCTION, RTE_JOIN, RTE_NAMEDTUPLESTORE, RTE_RELATION, RTE_RESULT, RTE_SUBQUERY, RTE_TABLEFUNC, and RTE_VALUES.

Referenced by parseNodeString().

1384 {
1386 
1387  /* put alias + eref first to make dump more legible */
1388  READ_NODE_FIELD(alias);
1389  READ_NODE_FIELD(eref);
1390  READ_ENUM_FIELD(rtekind, RTEKind);
1391 
1392  switch (local_node->rtekind)
1393  {
1394  case RTE_RELATION:
1395  READ_OID_FIELD(relid);
1396  READ_CHAR_FIELD(relkind);
1397  READ_INT_FIELD(rellockmode);
1398  READ_NODE_FIELD(tablesample);
1399  break;
1400  case RTE_SUBQUERY:
1401  READ_NODE_FIELD(subquery);
1402  READ_BOOL_FIELD(security_barrier);
1403  break;
1404  case RTE_JOIN:
1405  READ_ENUM_FIELD(jointype, JoinType);
1406  READ_INT_FIELD(joinmergedcols);
1407  READ_NODE_FIELD(joinaliasvars);
1408  READ_NODE_FIELD(joinleftcols);
1409  READ_NODE_FIELD(joinrightcols);
1410  break;
1411  case RTE_FUNCTION:
1413  READ_BOOL_FIELD(funcordinality);
1414  break;
1415  case RTE_TABLEFUNC:
1416  READ_NODE_FIELD(tablefunc);
1417  /* The RTE must have a copy of the column type info, if any */
1418  if (local_node->tablefunc)
1419  {
1420  TableFunc *tf = local_node->tablefunc;
1421 
1422  local_node->coltypes = tf->coltypes;
1423  local_node->coltypmods = tf->coltypmods;
1424  local_node->colcollations = tf->colcollations;
1425  }
1426  break;
1427  case RTE_VALUES:
1428  READ_NODE_FIELD(values_lists);
1429  READ_NODE_FIELD(coltypes);
1430  READ_NODE_FIELD(coltypmods);
1431  READ_NODE_FIELD(colcollations);
1432  break;
1433  case RTE_CTE:
1434  READ_STRING_FIELD(ctename);
1435  READ_UINT_FIELD(ctelevelsup);
1436  READ_BOOL_FIELD(self_reference);
1437  READ_NODE_FIELD(coltypes);
1438  READ_NODE_FIELD(coltypmods);
1439  READ_NODE_FIELD(colcollations);
1440  break;
1441  case RTE_NAMEDTUPLESTORE:
1442  READ_STRING_FIELD(enrname);
1443  READ_FLOAT_FIELD(enrtuples);
1444  READ_OID_FIELD(relid);
1445  READ_NODE_FIELD(coltypes);
1446  READ_NODE_FIELD(coltypmods);
1447  READ_NODE_FIELD(colcollations);
1448  break;
1449  case RTE_RESULT:
1450  /* no extra fields */
1451  break;
1452  default:
1453  elog(ERROR, "unrecognized RTE kind: %d",
1454  (int) local_node->rtekind);
1455  break;
1456  }
1457 
1458  READ_BOOL_FIELD(lateral);
1459  READ_BOOL_FIELD(inh);
1460  READ_BOOL_FIELD(inFromCl);
1461  READ_UINT_FIELD(requiredPerms);
1462  READ_OID_FIELD(checkAsUser);
1463  READ_BITMAPSET_FIELD(selectedCols);
1464  READ_BITMAPSET_FIELD(insertedCols);
1465  READ_BITMAPSET_FIELD(updatedCols);
1466  READ_BITMAPSET_FIELD(extraUpdatedCols);
1467  READ_NODE_FIELD(securityQuals);
1468 
1469  READ_DONE();
1470 }
List * coltypmods
Definition: primnodes.h:91
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
List * colcollations
Definition: primnodes.h:92
JoinType
Definition: nodes.h:694
#define ERROR
Definition: elog.h:43
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:111
RTEKind
Definition: parsenodes.h:962
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:98
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
List * coltypes
Definition: primnodes.h:90
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
static const struct fns functions
Definition: regcomp.c:298
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define elog(elevel,...)
Definition: elog.h:228
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readRangeTblFunction()

static RangeTblFunction* _readRangeTblFunction ( void  )
static

Definition at line 1476 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

1477 {
1479 
1480  READ_NODE_FIELD(funcexpr);
1481  READ_INT_FIELD(funccolcount);
1482  READ_NODE_FIELD(funccolnames);
1483  READ_NODE_FIELD(funccoltypes);
1484  READ_NODE_FIELD(funccoltypmods);
1485  READ_NODE_FIELD(funccolcollations);
1486  READ_BITMAPSET_FIELD(funcparams);
1487 
1488  READ_DONE();
1489 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readRangeTblRef()

static RangeTblRef* _readRangeTblRef ( void  )
static

Definition at line 1285 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, and READ_LOCALS.

Referenced by parseNodeString().

1286 {
1288 
1289  READ_INT_FIELD(rtindex);
1290 
1291  READ_DONE();
1292 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readRangeVar()

static RangeVar* _readRangeVar ( void  )
static

Definition at line 472 of file readfuncs.c.

References READ_BOOL_FIELD, READ_CHAR_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_STRING_FIELD, and relname.

Referenced by parseNodeString().

473 {
475 
476  local_node->catalogname = NULL; /* not currently saved in output format */
477 
478  READ_STRING_FIELD(schemaname);
480  READ_BOOL_FIELD(inh);
481  READ_CHAR_FIELD(relpersistence);
482  READ_NODE_FIELD(alias);
483  READ_LOCATION_FIELD(location);
484 
485  READ_DONE();
486 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
NameData relname
Definition: pg_class.h:38
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:98
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readRecursiveUnion()

static RecursiveUnion* _readRecursiveUnion ( void  )
static

Definition at line 1704 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LONG_FIELD, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

1705 {
1707 
1708  ReadCommonPlan(&local_node->plan);
1709 
1710  READ_INT_FIELD(wtParam);
1711  READ_INT_FIELD(numCols);
1712  READ_ATTRNUMBER_ARRAY(dupColIdx, local_node->numCols);
1713  READ_OID_ARRAY(dupOperators, local_node->numCols);
1714  READ_OID_ARRAY(dupCollations, local_node->numCols);
1715  READ_LONG_FIELD(numGroups);
1716 
1717  READ_DONE();
1718 }
#define READ_LONG_FIELD(fldname)
Definition: readfuncs.c:86
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readRelabelType()

static RelabelType* _readRelabelType ( void  )
static

Definition at line 884 of file readfuncs.c.

References arg, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

885 {
887 
889  READ_OID_FIELD(resulttype);
890  READ_INT_FIELD(resulttypmod);
891  READ_OID_FIELD(resultcollid);
892  READ_ENUM_FIELD(relabelformat, CoercionForm);
893  READ_LOCATION_FIELD(location);
894 
895  READ_DONE();
896 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
void * arg
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
CoercionForm
Definition: primnodes.h:467

◆ _readResult()

static Result* _readResult ( void  )
static

Definition at line 1603 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

1604 {
1606 
1607  ReadCommonPlan(&local_node->plan);
1608 
1609  READ_NODE_FIELD(resconstantqual);
1610 
1611  READ_DONE();
1612 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readRowCompareExpr()

static RowCompareExpr* _readRowCompareExpr ( void  )
static

Definition at line 1052 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

1053 {
1055 
1057  READ_NODE_FIELD(opnos);
1058  READ_NODE_FIELD(opfamilies);
1059  READ_NODE_FIELD(inputcollids);
1060  READ_NODE_FIELD(largs);
1061  READ_NODE_FIELD(rargs);
1062 
1063  READ_DONE();
1064 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
RowCompareType
Definition: primnodes.h:1071
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readRowExpr()

static RowExpr* _readRowExpr ( void  )
static

Definition at line 1035 of file readfuncs.c.

References generate_unaccent_rules::args, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1036 {
1038 
1040  READ_OID_FIELD(row_typeid);
1041  READ_ENUM_FIELD(row_format, CoercionForm);
1042  READ_NODE_FIELD(colnames);
1043  READ_LOCATION_FIELD(location);
1044 
1045  READ_DONE();
1046 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
CoercionForm
Definition: primnodes.h:467

◆ _readRowMarkClause()

static RowMarkClause* _readRowMarkClause ( void  )
static

Definition at line 400 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_UINT_FIELD.

Referenced by parseNodeString().

401 {
403 
404  READ_UINT_FIELD(rti);
406  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
407  READ_BOOL_FIELD(pushedDown);
408 
409  READ_DONE();
410 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
LockClauseStrength
Definition: lockoptions.h:21
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
LockWaitPolicy
Definition: lockoptions.h:36

◆ _readSampleScan()

static SampleScan* _readSampleScan ( void  )
static

Definition at line 1795 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1796 {
1798 
1799  ReadCommonScan(&local_node->scan);
1800 
1801  READ_NODE_FIELD(tablesample);
1802 
1803  READ_DONE();
1804 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readScalarArrayOpExpr()

static ScalarArrayOpExpr* _readScalarArrayOpExpr ( void  )
static

Definition at line 785 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

786 {
788 
789  READ_OID_FIELD(opno);
790  READ_OID_FIELD(opfuncid);
791  READ_BOOL_FIELD(useOr);
792  READ_OID_FIELD(inputcollid);
794  READ_LOCATION_FIELD(location);
795 
796  READ_DONE();
797 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readScan()

static Scan* _readScan ( void  )
static

Definition at line 1769 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonScan().

Referenced by parseNodeString().

1770 {
1772 
1773  ReadCommonScan(local_node);
1774 
1775  READ_DONE();
1776 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readSeqScan()

static SeqScan* _readSeqScan ( void  )
static

Definition at line 1782 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonScan().

Referenced by parseNodeString().

1783 {
1785 
1786  ReadCommonScan(local_node);
1787 
1788  READ_DONE();
1789 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readSetOp()

static SetOp* _readSetOp ( void  )
static

Definition at line 2355 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LONG_FIELD, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

2356 {
2357  READ_LOCALS(SetOp);
2358 
2359  ReadCommonPlan(&local_node->plan);
2360 
2361  READ_ENUM_FIELD(cmd, SetOpCmd);
2362  READ_ENUM_FIELD(strategy, SetOpStrategy);
2363  READ_INT_FIELD(numCols);
2364  READ_ATTRNUMBER_ARRAY(dupColIdx, local_node->numCols);
2365  READ_OID_ARRAY(dupOperators, local_node->numCols);
2366  READ_OID_ARRAY(dupCollations, local_node->numCols);
2367  READ_INT_FIELD(flagColIdx);
2368  READ_INT_FIELD(firstFlag);
2369  READ_LONG_FIELD(numGroups);
2370 
2371  READ_DONE();
2372 }
#define READ_LONG_FIELD(fldname)
Definition: readfuncs.c:86
SetOpStrategy
Definition: nodes.h:808
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
SetOpCmd
Definition: nodes.h:800
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readSetOperationStmt()

static SetOperationStmt* _readSetOperationStmt ( void  )
static

Definition at line 439 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

440 {
442 
444  READ_BOOL_FIELD(all);
445  READ_NODE_FIELD(larg);
446  READ_NODE_FIELD(rarg);
447  READ_NODE_FIELD(colTypes);
448  READ_NODE_FIELD(colTypmods);
449  READ_NODE_FIELD(colCollations);
450  READ_NODE_FIELD(groupClauses);
451 
452  READ_DONE();
453 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
SetOperation
Definition: parsenodes.h:1584
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readSetToDefault()

static SetToDefault* _readSetToDefault ( void  )
static

Definition at line 1206 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1207 {
1209 
1210  READ_OID_FIELD(typeId);
1211  READ_INT_FIELD(typeMod);
1212  READ_OID_FIELD(collation);
1213  READ_LOCATION_FIELD(location);
1214 
1215  READ_DONE();
1216 }
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readSort()

static Sort* _readSort ( void  )
static

Definition at line 2175 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonSort().

Referenced by parseNodeString().

2176 {
2178 
2179  ReadCommonSort(local_node);
2180 
2181  READ_DONE();
2182 }
static void ReadCommonSort(Sort *local_node)
Definition: readfuncs.c:2158
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:54
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readSortGroupClause()

static SortGroupClause* _readSortGroupClause ( void  )
static

Definition at line 342 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_OID_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

343 {
345 
346  READ_UINT_FIELD(tleSortGroupRef);
347  READ_OID_FIELD(eqop);
348  READ_OID_FIELD(sortop);
349  READ_BOOL_FIELD(nulls_first);
350  READ_BOOL_FIELD(hashable);
351 
352  READ_DONE();
353 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readSQLValueFunction()

static SQLValueFunction* _readSQLValueFunction ( void  )
static

Definition at line 1104 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_OID_FIELD, and generate_unaccent_rules::type.

Referenced by parseNodeString().

1105 {
1107 
1110  READ_INT_FIELD(typmod);
1111  READ_LOCATION_FIELD(location);
1112 
1113  READ_DONE();
1114 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
SQLValueFunctionOp
Definition: primnodes.h:1136
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readSubLink()

static SubLink* _readSubLink ( void  )
static

Definition at line 829 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

830 {
832 
833  READ_ENUM_FIELD(subLinkType, SubLinkType);
834  READ_INT_FIELD(subLinkId);
835  READ_NODE_FIELD(testexpr);
836  READ_NODE_FIELD(operName);
837  READ_NODE_FIELD(subselect);
838  READ_LOCATION_FIELD(location);
839 
840  READ_DONE();
841 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
SubLinkType
Definition: primnodes.h:650
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readSubPlan()

static SubPlan* _readSubPlan ( void  )
static

Definition at line 2518 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_FLOAT_FIELD, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

2519 {
2521 
2522  READ_ENUM_FIELD(subLinkType, SubLinkType);
2523  READ_NODE_FIELD(testexpr);
2524  READ_NODE_FIELD(paramIds);
2525  READ_INT_FIELD(plan_id);
2526  READ_STRING_FIELD(plan_name);
2527  READ_OID_FIELD(firstColType);
2528  READ_INT_FIELD(firstColTypmod);
2529  READ_OID_FIELD(firstColCollation);
2530  READ_BOOL_FIELD(useHashTable);
2531  READ_BOOL_FIELD(unknownEqFalse);
2532  READ_BOOL_FIELD(parallel_safe);
2533  READ_NODE_FIELD(setParam);
2534  READ_NODE_FIELD(parParam);
2536  READ_FLOAT_FIELD(startup_cost);
2537  READ_FLOAT_FIELD(per_call_cost);
2538 
2539  READ_DONE();
2540 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:111
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
SubLinkType
Definition: primnodes.h:650
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readSubqueryScan()

static SubqueryScan* _readSubqueryScan ( void  )
static

Definition at line 1898 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1899 {
1901 
1902  ReadCommonScan(&local_node->scan);
1903 
1904  READ_NODE_FIELD(subplan);
1905 
1906  READ_DONE();
1907 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readSubscriptingRef()

static SubscriptingRef* _readSubscriptingRef ( void  )
static

Definition at line 668 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

669 {
671 
672  READ_OID_FIELD(refcontainertype);
673  READ_OID_FIELD(refelemtype);
674  READ_INT_FIELD(reftypmod);
675  READ_OID_FIELD(refcollid);
676  READ_NODE_FIELD(refupperindexpr);
677  READ_NODE_FIELD(reflowerindexpr);
678  READ_NODE_FIELD(refexpr);
679  READ_NODE_FIELD(refassgnexpr);
680 
681  READ_DONE();
682 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readTableFunc()

static TableFunc* _readTableFunc ( void  )
static

Definition at line 492 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

493 {
495 
496  READ_NODE_FIELD(ns_uris);
497  READ_NODE_FIELD(ns_names);
498  READ_NODE_FIELD(docexpr);
499  READ_NODE_FIELD(rowexpr);
500  READ_NODE_FIELD(colnames);
501  READ_NODE_FIELD(coltypes);
502  READ_NODE_FIELD(coltypmods);
503  READ_NODE_FIELD(colcollations);
504  READ_NODE_FIELD(colexprs);
505  READ_NODE_FIELD(coldefexprs);
506  READ_BITMAPSET_FIELD(notnulls);
507  READ_INT_FIELD(ordinalitycol);
508  READ_LOCATION_FIELD(location);
509 
510  READ_DONE();
511 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:149
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readTableFuncScan()

static TableFuncScan* _readTableFuncScan ( void  )
static

Definition at line 1944 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1945 {
1947 
1948  ReadCommonScan(&local_node->scan);
1949 
1950  READ_NODE_FIELD(tablefunc);
1951 
1952  READ_DONE();
1953 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readTableSampleClause()

static TableSampleClause* _readTableSampleClause ( void  )
static

Definition at line 1495 of file readfuncs.c.

References generate_unaccent_rules::args, READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1496 {
1498 
1499  READ_OID_FIELD(tsmhandler);
1501  READ_NODE_FIELD(repeatable);
1502 
1503  READ_DONE();
1504 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readTargetEntry()

static TargetEntry* _readTargetEntry ( void  )
static

Definition at line 1266 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

1267 {
1269 
1270  READ_NODE_FIELD(expr);
1271  READ_INT_FIELD(resno);
1272  READ_STRING_FIELD(resname);
1273  READ_UINT_FIELD(ressortgroupref);
1274  READ_OID_FIELD(resorigtbl);
1275  READ_INT_FIELD(resorigcol);
1276  READ_BOOL_FIELD(resjunk);
1277 
1278  READ_DONE();
1279 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readTidScan()

static TidScan* _readTidScan ( void  )
static

Definition at line 1883 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1884 {
1886 
1887  ReadCommonScan(&local_node->scan);
1888 
1889  READ_NODE_FIELD(tidquals);
1890 
1891  READ_DONE();
1892 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readUnique()

static Unique* _readUnique ( void  )
static

Definition at line 2277 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_OID_ARRAY, and ReadCommonPlan().

Referenced by parseNodeString().

2278 {
2280 
2281  ReadCommonPlan(&local_node->plan);
2282 
2283  READ_INT_FIELD(numCols);
2284  READ_ATTRNUMBER_ARRAY(uniqColIdx, local_node->numCols);
2285  READ_OID_ARRAY(uniqOperators, local_node->numCols);
2286  READ_OID_ARRAY(uniqCollations, local_node->numCols);
2287 
2288  READ_DONE();
2289 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readValuesScan()

static ValuesScan* _readValuesScan ( void  )
static

Definition at line 1929 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and ReadCommonScan().

Referenced by parseNodeString().

1930 {
1932 
1933  ReadCommonScan(&local_node->scan);
1934 
1935  READ_NODE_FIELD(values_lists);
1936 
1937  READ_DONE();
1938 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readVar()

static Var* _readVar ( void  )
static

Definition at line 534 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

535 {
536  READ_LOCALS(Var);
537 
538  READ_UINT_FIELD(varno);
539  READ_INT_FIELD(varattno);
540  READ_OID_FIELD(vartype);
541  READ_INT_FIELD(vartypmod);
542  READ_OID_FIELD(varcollid);
543  READ_UINT_FIELD(varlevelsup);
544  READ_UINT_FIELD(varnosyn);
545  READ_INT_FIELD(varattnosyn);
546  READ_LOCATION_FIELD(location);
547 
548  READ_DONE();
549 }
Definition: primnodes.h:181
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readWindowAgg()

static WindowAgg* _readWindowAgg ( void  )
static

Definition at line 2246 of file readfuncs.c.

References READ_ATTRNUMBER_ARRAY, READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_ARRAY, READ_OID_FIELD, READ_UINT_FIELD, and ReadCommonPlan().

Referenced by parseNodeString().

2247 {
2249 
2250  ReadCommonPlan(&local_node->plan);
2251 
2252  READ_UINT_FIELD(winref);
2253  READ_INT_FIELD(partNumCols);
2254  READ_ATTRNUMBER_ARRAY(partColIdx, local_node->partNumCols);
2255  READ_OID_ARRAY(partOperators, local_node->partNumCols);
2256  READ_OID_ARRAY(partCollations, local_node->partNumCols);
2257  READ_INT_FIELD(ordNumCols);
2258  READ_ATTRNUMBER_ARRAY(ordColIdx, local_node->ordNumCols);
2259  READ_OID_ARRAY(ordOperators, local_node->ordNumCols);
2260  READ_OID_ARRAY(ordCollations, local_node->ordNumCols);
2261  READ_INT_FIELD(frameOptions);
2262  READ_NODE_FIELD(startOffset);
2263  READ_NODE_FIELD(endOffset);
2264  READ_OID_FIELD(startInRangeFunc);
2265  READ_OID_FIELD(endInRangeFunc);
2266  READ_OID_FIELD(inRangeColl);
2267  READ_BOOL_FIELD(inRangeAsc);
2268  READ_BOOL_FIELD(inRangeNullsFirst);
2269 
2270  READ_DONE();
2271 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1566
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:160
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:155

◆ _readWindowClause()

static WindowClause* _readWindowClause ( void  )
static

Definition at line 374 of file readfuncs.c.

References name, READ_BOOL_FIELD, READ_DONE, READ_INT_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

375 {
377 
379  READ_STRING_FIELD(refname);
380  READ_NODE_FIELD(partitionClause);
381  READ_NODE_FIELD(orderClause);
382  READ_INT_FIELD(frameOptions);
383  READ_NODE_FIELD(startOffset);
384  READ_NODE_FIELD(endOffset);
385  READ_OID_FIELD(startInRangeFunc);
386  READ_OID_FIELD(endInRangeFunc);
387  READ_OID_FIELD(inRangeColl);
388  READ_BOOL_FIELD(inRangeAsc);
389  READ_BOOL_FIELD(inRangeNullsFirst);
390  READ_UINT_FIELD(winref);
391  READ_BOOL_FIELD(copiedOrder);
392 
393  READ_DONE();
394 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
const char * name
Definition: encode.c:561
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readWindowFunc()

static WindowFunc* _readWindowFunc ( void  )
static

Definition at line 646 of file readfuncs.c.

References generate_unaccent_rules::args, READ_BOOL_FIELD, READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_OID_FIELD, and READ_UINT_FIELD.

Referenced by parseNodeString().

647 {
649 
650  READ_OID_FIELD(winfnoid);
651  READ_OID_FIELD(wintype);
652  READ_OID_FIELD(wincollid);
653  READ_OID_FIELD(inputcollid);
655  READ_NODE_FIELD(aggfilter);
656  READ_UINT_FIELD(winref);
657  READ_BOOL_FIELD(winstar);
658  READ_BOOL_FIELD(winagg);
659  READ_LOCATION_FIELD(location);
660 
661  READ_DONE();
662 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:74
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readWithCheckOption()

static WithCheckOption* _readWithCheckOption ( void  )
static

Definition at line 325 of file readfuncs.c.

References READ_BOOL_FIELD, READ_DONE, READ_ENUM_FIELD, READ_LOCALS, READ_NODE_FIELD, READ_STRING_FIELD, and relname.

Referenced by parseNodeString().

326 {
328 
329  READ_ENUM_FIELD(kind, WCOKind);
331  READ_STRING_FIELD(polname);
332  READ_NODE_FIELD(qual);
333  READ_BOOL_FIELD(cascaded);
334 
335  READ_DONE();
336 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:117
NameData relname
Definition: pg_class.h:38
WCOKind
Definition: parsenodes.h:1183
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175

◆ _readWorkTableScan()

static WorkTableScan* _readWorkTableScan ( void  )
static

Definition at line 1990 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and ReadCommonScan().

Referenced by parseNodeString().

1991 {
1993 
1994  ReadCommonScan(&local_node->scan);
1995 
1996  READ_INT_FIELD(wtParam);
1997 
1998  READ_DONE();
1999 }
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1756
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ _readXmlExpr()

static XmlExpr* _readXmlExpr ( void  )
static

Definition at line 1120 of file readfuncs.c.

References generate_unaccent_rules::args, name, READ_DONE, READ_ENUM_FIELD, READ_INT_FIELD, READ_LOCALS, READ_LOCATION_FIELD, READ_NODE_FIELD, READ_OID_FIELD, READ_STRING_FIELD, generate_unaccent_rules::type, and xmloption.

Referenced by parseNodeString().

1121 {
1123 
1126  READ_NODE_FIELD(named_args);
1127  READ_NODE_FIELD(arg_names);
1131  READ_INT_FIELD(typmod);
1132  READ_LOCATION_FIELD(location);
1133 
1134  READ_DONE();
1135 }
XmlExprOp
Definition: primnodes.h:1175
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:105
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:143
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:135
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:63
XmlOptionType
Definition: primnodes.h:1187
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:92
const char * name
Definition: encode.c:561
int xmloption
Definition: xml.c:98
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:123
#define READ_DONE()
Definition: readfuncs.c:175
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:68

◆ parseNodeString()

Node* parseNodeString ( void  )

Definition at line 2629 of file readfuncs.c.

References _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readAppendRelInfo(), _readArrayCoerceExpr(), _readArrayExpr(), _readBitmapAnd(), _readBitmapHeapScan(), _readBitmapIndexScan(), _readBitmapOr(), _readBooleanTest(), _readBoolExpr(), _readCaseExpr(), _readCaseTestExpr(), _readCaseWhen(), _readCoalesceExpr(), _readCoerceToDomain(), _readCoerceToDomainValue(), _readCoerceViaIO(), _readCollateExpr(), _readCommonTableExpr(), _readConst(), _readConvertRowtypeExpr(), _readCteScan(), _readCurrentOfExpr(), _readCustomScan(), _readDeclareCursorStmt(), _readDefElem(), _readDistinctExpr(), _readExtensibleNode(), _readFieldSelect(), _readFieldStore(), _readForeignScan(), _readFromExpr(), _readFuncExpr(), _readFunctionScan(), _readGather(), _readGatherMerge(), _readGroup(), _readGroupingFunc(), _readGroupingSet(), _readHash(), _readHashJoin(), _readIncrementalSort(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoin(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMaterial(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNamedTuplestoreScan(), _readNestLoop(), _readNestLoopParam(), _readNextValueExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readParam(), _readPartitionBoundSpec(), _readPartitionedRelPruneInfo(), _readPartitionPruneInfo(), _readPartitionPruneStepCombine(), _readPartitionPruneStepOp(), _readPartitionRangeDatum(), _readPlan(), _readPlanInvalItem(), _readPlannedStmt(), _readPlanRowMark(), _readProjectSet(), _readQuery(), _readRangeTblEntry(), _readRangeTblFunction(), _readRangeTblRef(), _readRangeVar(), _readRecursiveUnion(), _readRelabelType(), _readResult(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readSampleScan(), _readScalarArrayOpExpr(), _readScan(), _readSeqScan(), _readSetOp(), _readSetOperationStmt(), _readSetToDefault(), _readSort(), _readSortGroupClause(), _readSQLValueFunction(), _readSubLink(), _readSubPlan(), _readSubqueryScan(), _readSubscriptingRef(), _readTableFunc(), _readTableFuncScan(), _readTableSampleClause(), _readTargetEntry(), _readTidScan(), _readUnique(), _readValuesScan(), _readVar(), _readWindowAgg(), _readWindowClause(), _readWindowFunc(), _readWithCheckOption(), _readWorkTableScan(), _readXmlExpr(), check_stack_depth(), elog, ERROR, MATCH, pg_strtok(), and READ_TEMP_LOCALS.

Referenced by nodeRead().

2630 {
2631  void *return_value;
2632 
2633  READ_TEMP_LOCALS();
2634 
2635  /* Guard against stack overflow due to overly complex expressions */
2637 
2638  token = pg_strtok(&length);
2639 
2640 #define MATCH(tokname, namelen) \
2641  (length == namelen && memcmp(token, tokname, namelen) == 0)
2642 
2643  if (MATCH("QUERY", 5))
2644  return_value = _readQuery();
2645  else if (MATCH("WITHCHECKOPTION", 15))
2646  return_value = _readWithCheckOption();
2647  else if (MATCH("SORTGROUPCLAUSE", 15))
2648  return_value = _readSortGroupClause();
2649  else if (MATCH("GROUPINGSET", 11))
2650  return_value = _readGroupingSet();
2651  else if (MATCH("WINDOWCLAUSE", 12))
2652  return_value = _readWindowClause();
2653  else if (MATCH("ROWMARKCLAUSE", 13))
2654  return_value = _readRowMarkClause();
2655  else if (MATCH("COMMONTABLEEXPR", 15))
2656  return_value = _readCommonTableExpr();
2657  else if (MATCH("SETOPERATIONSTMT", 16))
2658  return_value = _readSetOperationStmt();
2659  else if (MATCH("ALIAS", 5))
2660  return_value = _readAlias();
2661  else if (MATCH("RANGEVAR", 8))
2662  return_value = _readRangeVar();
2663  else if (MATCH("INTOCLAUSE", 10))
2664  return_value = _readIntoClause();
2665  else if (MATCH("TABLEFUNC", 9))
2666  return_value = _readTableFunc();
2667  else if (MATCH("VAR", 3))
2668  return_value = _readVar();
2669  else if (MATCH("CONST", 5))
2670  return_value = _readConst();
2671  else if (MATCH("PARAM", 5))
2672  return_value = _readParam();
2673  else if (MATCH("AGGREF", 6))
2674  return_value = _readAggref();
2675  else if (MATCH("GROUPINGFUNC", 12))
2676  return_value = _readGroupingFunc();
2677  else if (MATCH("WINDOWFUNC", 10))
2678  return_value = _readWindowFunc();
2679  else if (MATCH("SUBSCRIPTINGREF", 15))
2680  return_value = _readSubscriptingRef();
2681  else if (MATCH("FUNCEXPR", 8))
2682  return_value = _readFuncExpr();
2683  else if (MATCH("NAMEDARGEXPR", 12))
2684  return_value = _readNamedArgExpr();
2685  else if (MATCH("OPEXPR", 6))
2686  return_value = _readOpExpr();
2687  else if (MATCH("DISTINCTEXPR", 12))
2688  return_value = _readDistinctExpr();
2689  else if (MATCH("NULLIFEXPR", 10))
2690  return_value = _readNullIfExpr();
2691  else if (MATCH("SCALARARRAYOPEXPR", 17))
2692  return_value = _readScalarArrayOpExpr();
2693  else if (MATCH("BOOLEXPR", 8))
2694  return_value = _readBoolExpr();
2695  else if (MATCH("SUBLINK", 7))
2696  return_value = _readSubLink();
2697  else if (MATCH("FIELDSELECT", 11))
2698  return_value = _readFieldSelect();
2699  else if (MATCH("FIELDSTORE", 10))
2700  return_value = _readFieldStore();
2701  else if (MATCH("RELABELTYPE", 11))
2702  return_value = _readRelabelType();
2703  else if (MATCH("COERCEVIAIO", 11))
2704  return_value = _readCoerceViaIO();
2705  else if (MATCH("ARRAYCOERCEEXPR", 15))
2706  return_value = _readArrayCoerceExpr();
2707  else if (MATCH("CONVERTROWTYPEEXPR", 18))
2708  return_value = _readConvertRowtypeExpr();
2709  else if (MATCH("COLLATE", 7))
2710  return_value = _readCollateExpr();
2711  else if (MATCH("CASE", 4))
2712  return_value = _readCaseExpr();
2713  else if (MATCH("WHEN", 4))
2714  return_value = _readCaseWhen();
2715  else if (MATCH("CASETESTEXPR", 12))
2716  return_value = _readCaseTestExpr();
2717  else if (MATCH("ARRAY", 5))
2718  return_value = _readArrayExpr();
2719  else if (MATCH("ROW", 3))
2720  return_value = _readRowExpr();
2721  else if (MATCH("ROWCOMPARE", 10))
2722  return_value = _readRowCompareExpr();
2723  else if (MATCH("COALESCE", 8))
2724  return_value = _readCoalesceExpr();
2725  else if (MATCH("MINMAX", 6))
2726  return_value = _readMinMaxExpr();
2727  else if (MATCH("SQLVALUEFUNCTION", 16))
2728  return_value = _readSQLValueFunction();
2729  else if (MATCH("XMLEXPR", 7))
2730  return_value = _readXmlExpr();
2731  else if (MATCH("NULLTEST", 8))
2732  return_value = _readNullTest();
2733  else if (MATCH("BOOLEANTEST", 11))
2734  return_value = _readBooleanTest();
2735  else if (MATCH("COERCETODOMAIN", 14))
2736  return_value = _readCoerceToDomain();
2737  else if (MATCH("COERCETODOMAINVALUE", 19))
2738  return_value = _readCoerceToDomainValue();
2739  else if (MATCH("SETTODEFAULT", 12))
2740  return_value = _readSetToDefault();
2741  else if (MATCH("CURRENTOFEXPR", 13))
2742  return_value = _readCurrentOfExpr();
2743  else if (MATCH("NEXTVALUEEXPR", 13))
2744  return_value = _readNextValueExpr();
2745  else if (MATCH("INFERENCEELEM", 13))
2746  return_value = _readInferenceElem();
2747  else if (MATCH("TARGETENTRY", 11))
2748  return_value = _readTargetEntry();
2749  else if (MATCH("RANGETBLREF", 11))
2750  return_value = _readRangeTblRef();
2751  else if (MATCH("JOINEXPR", 8))
2752  return_value = _readJoinExpr();
2753  else if (MATCH("FROMEXPR", 8))
2754  return_value = _readFromExpr();
2755  else if (MATCH("ONCONFLICTEXPR", 14))
2756  return_value = _readOnConflictExpr();
2757  else if (MATCH("APPENDRELINFO", 13))
2758  return_value = _readAppendRelInfo();
2759  else if (MATCH("RTE", 3))
2760  return_value = _readRangeTblEntry();
2761  else if (MATCH("RANGETBLFUNCTION", 16))
2762  return_value = _readRangeTblFunction();
2763  else if (MATCH("TABLESAMPLECLAUSE", 17))
2764  return_value = _readTableSampleClause();
2765  else if (MATCH("NOTIFY", 6))
2766  return_value = _readNotifyStmt();
2767  else if (MATCH("DEFELEM", 7))
2768  return_value = _readDefElem();
2769  else if (MATCH("DECLARECURSOR", 13))
2770  return_value = _readDeclareCursorStmt();
2771  else if (MATCH("PLANNEDSTMT", 11))
2772  return_value = _readPlannedStmt();
2773  else if (MATCH("PLAN", 4))
2774  return_value = _readPlan();
2775  else if (MATCH("RESULT", 6))
2776  return_value = _readResult();
2777  else if (MATCH("PROJECTSET", 10))
2778  return_value = _readProjectSet();
2779  else if (MATCH("MODIFYTABLE", 11))
2780  return_value = _readModifyTable();
2781  else if (MATCH("APPEND", 6))
2782  return_value = _readAppend();
2783  else if (MATCH("MERGEAPPEND", 11))
2784  return_value = _readMergeAppend();
2785  else if (MATCH("RECURSIVEUNION", 14))
2786  return_value = _readRecursiveUnion();
2787  else if (MATCH("BITMAPAND", 9))
2788  return_value = _readBitmapAnd();
2789  else if (MATCH("BITMAPOR", 8))
2790  return_value = _readBitmapOr();
2791  else if (MATCH("SCAN", 4))
2792  return_value = _readScan();
2793  else if (MATCH("SEQSCAN", 7))
2794  return_value = _readSeqScan();
2795  else if (MATCH("SAMPLESCAN", 10))
2796  return_value = _readSampleScan();
2797  else if (MATCH("INDEXSCAN", 9))
2798  return_value = _readIndexScan();
2799  else if (MATCH("INDEXONLYSCAN", 13))
2800  return_value = _readIndexOnlyScan();
2801  else if (MATCH("BITMAPINDEXSCAN", 15))
2802  return_value = _readBitmapIndexScan();
2803  else if (MATCH("BITMAPHEAPSCAN", 14))
2804  return_value = _readBitmapHeapScan();
2805  else if (MATCH("TIDSCAN", 7))
2806  return_value = _readTidScan();
2807  else if (MATCH("SUBQUERYSCAN", 12))
2808  return_value = _readSubqueryScan();
2809  else if (MATCH("FUNCTIONSCAN", 12))
2810  return_value = _readFunctionScan();
2811  else if (MATCH("VALUESSCAN", 10))
2812  return_value = _readValuesScan();
2813  else if (MATCH("TABLEFUNCSCAN", 13))
2814  return_value = _readTableFuncScan();
2815  else if (MATCH("CTESCAN", 7))
2816  return_value = _readCteScan();
2817  else if (MATCH("NAMEDTUPLESTORESCAN", 19))
2818  return_value = _readNamedTuplestoreScan();
2819  else if (MATCH("WORKTABLESCAN", 13))
2820  return_value = _readWorkTableScan();
2821  else if (MATCH("FOREIGNSCAN", 11))
2822  return_value = _readForeignScan();
2823  else if (MATCH("CUSTOMSCAN", 10))
2824  return_value = _readCustomScan();
2825  else if (MATCH("JOIN", 4))
2826  return_value = _readJoin();
2827  else if (MATCH("NESTLOOP", 8))
2828  return_value = _readNestLoop();
2829  else if (MATCH("MERGEJOIN", 9))
2830  return_value = _readMergeJoin();
2831  else if (MATCH("HASHJOIN", 8))
2832  return_value = _readHashJoin();
2833  else if (MATCH("MATERIAL", 8))
2834  return_value = _readMaterial();
2835  else if (MATCH("SORT", 4))
2836  return_value = _readSort();
2837  else if (MATCH("INCREMENTALSORT", 15))
2838  return_value = _readIncrementalSort();
2839  else if (MATCH("GROUP", 5))
2840  return_value = _readGroup();
2841  else if (MATCH("AGG", 3))
2842  return_value = _readAgg();
2843  else if (MATCH("WINDOWAGG", 9))
2844  return_value = _readWindowAgg();
2845  else if (MATCH("UNIQUE", 6))
2846  return_value = _readUnique();
2847  else if (MATCH("GATHER", 6))
2848  return_value = _readGather();
2849  else if (MATCH("GATHERMERGE", 11))
2850  return_value = _readGatherMerge();
2851  else if (MATCH("HASH", 4))
2852  return_value = _readHash();
2853  else if (MATCH("SETOP", 5))
2854  return_value = _readSetOp();
2855  else if (MATCH("LOCKROWS", 8))
2856  return_value = _readLockRows();
2857  else if (MATCH("LIMIT", 5))
2858  return_value = _readLimit();
2859  else if (MATCH("NESTLOOPPARAM", 13))
2860  return_value = _readNestLoopParam();
2861  else if (MATCH("PLANROWMARK", 11))
2862  return_value = _readPlanRowMark();
2863  else if (MATCH("PARTITIONPRUNEINFO", 18))
2864  return_value = _readPartitionPruneInfo();
2865  else if (MATCH("PARTITIONEDRELPRUNEINFO", 23))
2866  return_value = _readPartitionedRelPruneInfo();
2867  else if (MATCH("PARTITIONPRUNESTEPOP", 20))
2868  return_value = _readPartitionPruneStepOp();
2869  else if (MATCH("PARTITIONPRUNESTEPCOMBINE", 25))
2870  return_value = _readPartitionPruneStepCombine();
2871  else if (MATCH("PLANINVALITEM", 13))
2872  return_value = _readPlanInvalItem();
2873  else if (MATCH("SUBPLAN", 7))
2874  return_value = _readSubPlan();
2875  else if (MATCH("ALTERNATIVESUBPLAN", 18))
2876  return_value = _readAlternativeSubPlan();
2877  else if (MATCH("EXTENSIBLENODE", 14))
2878  return_value = _readExtensibleNode();
2879  else if (MATCH("PARTITIONBOUNDSPEC", 18))
2880  return_value = _readPartitionBoundSpec();
2881  else if (MATCH("PARTITIONRANGEDATUM", 19))
2882  return_value = _readPartitionRangeDatum();
2883  else
2884  {
2885  elog(ERROR, "badly formatted node string \"%.32s\"...", token);
2886  return_value = NULL; /* keep compiler quiet */
2887  }
2888 
2889  return (Node *) return_value;
2890 }
static NullTest * _readNullTest(void)
Definition: readfuncs.c:1141
static JoinExpr * _readJoinExpr(void)
Definition: readfuncs.c:1298
static RangeVar * _readRangeVar(void)
Definition: readfuncs.c:472
static RangeTblEntry * _readRangeTblEntry(void)
Definition: readfuncs.c:1383
static DefElem * _readDefElem(void)
Definition: readfuncs.c:1510
static RowExpr * _readRowExpr(void)
Definition: readfuncs.c:1035
static MergeJoin * _readMergeJoin(void)
Definition: readfuncs.c:2101
static MinMaxExpr * _readMinMaxExpr(void)
Definition: readfuncs.c:1086
static RowMarkClause * _readRowMarkClause(void)
Definition: readfuncs.c:400
static FuncExpr * _readFuncExpr(void)
Definition: readfuncs.c:688
static Hash * _readHash(void)
Definition: readfuncs.c:2336
static Result * _readResult(void)
Definition: readfuncs.c:1603
static Query * _readQuery(void)
Definition: readfuncs.c:247
static RowCompareExpr * _readRowCompareExpr(void)
Definition: readfuncs.c:1052
static Param * _readParam(void)
Definition: readfuncs.c:580
static PlanInvalItem * _readPlanInvalItem(void)
Definition: readfuncs.c:2504
static PartitionPruneInfo * _readPartitionPruneInfo(void)
Definition: readfuncs.c:2446
static AppendRelInfo * _readAppendRelInfo(void)
Definition: readfuncs.c:1359
static WindowAgg * _readWindowAgg(void)
Definition: readfuncs.c:2246
static IndexScan * _readIndexScan(void)
Definition: readfuncs.c:1810
static NotifyStmt * _readNotifyStmt(void)
Definition: readfuncs.c:296
static Scan * _readScan(void)
Definition: readfuncs.c:1769
static NamedArgExpr * _readNamedArgExpr(void)
Definition: readfuncs.c:709
static LockRows * _readLockRows(void)
Definition: readfuncs.c:2378
static CurrentOfExpr * _readCurrentOfExpr(void)
Definition: readfuncs.c:1222
static CollateExpr * _readCollateExpr(void)
Definition: readfuncs.c:954
static SubqueryScan * _readSubqueryScan(void)
Definition: readfuncs.c:1898
static BitmapIndexScan * _readBitmapIndexScan(void)
Definition: readfuncs.c:1850
static CaseExpr * _readCaseExpr(void)
Definition: readfuncs.c:969
static FunctionScan * _readFunctionScan(void)
Definition: readfuncs.c:1913
static PartitionBoundSpec * _readPartitionBoundSpec(void)
Definition: readfuncs.c:2589
static Unique * _readUnique(void)
Definition: readfuncs.c:2277
static MergeAppend * _readMergeAppend(void)
Definition: readfuncs.c:1682
Definition: nodes.h:527
static WindowFunc * _readWindowFunc(void)
Definition: readfuncs.c:646
static WindowClause * _readWindowClause(void)
Definition: readfuncs.c:374
static OpExpr * _readOpExpr(void)
Definition: readfuncs.c:725
static IndexOnlyScan * _readIndexOnlyScan(void)
Definition: readfuncs.c:1831
static BitmapAnd * _readBitmapAnd(void)
Definition: readfuncs.c:1724
static FromExpr * _readFromExpr(void)
Definition: readfuncs.c:1318
static PartitionedRelPruneInfo * _readPartitionedRelPruneInfo(void)
Definition: readfuncs.c:2457
static Aggref * _readAggref(void)
Definition: readfuncs.c:598
static NestLoop * _readNestLoop(void)
Definition: readfuncs.c:2086
static ModifyTable * _readModifyTable(void)
Definition: readfuncs.c:1631
static NextValueExpr * _readNextValueExpr(void)
Definition: readfuncs.c:1237
static DistinctExpr * _readDistinctExpr(void)
Definition: readfuncs.c:745
static ArrayCoerceExpr * _readArrayCoerceExpr(void)
Definition: readfuncs.c:919
static TargetEntry * _readTargetEntry(void)
Definition: readfuncs.c:1266
static Agg * _readAgg(void)
Definition: readfuncs.c:2221
static SeqScan * _readSeqScan(void)
Definition: readfuncs.c:1782
static AlternativeSubPlan * _readAlternativeSubPlan(void)
Definition: readfuncs.c:2546
static CteScan * _readCteScan(void)
Definition: readfuncs.c:1959
#define ERROR
Definition: elog.h:43
static GroupingFunc * _readGroupingFunc(void)
Definition: readfuncs.c:629
static CoerceToDomain * _readCoerceToDomain(void)
Definition: readfuncs.c:1172
static SubLink * _readSubLink(void)
Definition: readfuncs.c:829
static HashJoin * _readHashJoin(void)
Definition: readfuncs.c:2126
static PartitionPruneStepCombine * _readPartitionPruneStepCombine(void)
Definition: readfuncs.c:2489
static ValuesScan * _readValuesScan(void)
Definition: readfuncs.c:1929
static ConvertRowtypeExpr * _readConvertRowtypeExpr(void)
Definition: readfuncs.c:938
static OnConflictExpr * _readOnConflictExpr(void)
Definition: readfuncs.c:1332
static NullIfExpr * _readNullIfExpr(void)
Definition: readfuncs.c:765
static Append * _readAppend(void)
Definition: readfuncs.c:1664
static ExtensibleNode * _readExtensibleNode(void)
Definition: readfuncs.c:2559
static PlanRowMark * _readPlanRowMark(void)
Definition: readfuncs.c:2429
static FieldSelect * _readFieldSelect(void)
Definition: readfuncs.c:851
void check_stack_depth(void)
Definition: postgres.c:3312
static CaseWhen * _readCaseWhen(void)
Definition: readfuncs.c:987
static SQLValueFunction * _readSQLValueFunction(void)
Definition: readfuncs.c:1104
static IncrementalSort * _readIncrementalSort(void)
Definition: readfuncs.c:2188
#define MATCH(tokname, namelen)
static ForeignScan * _readForeignScan(void)
Definition: readfuncs.c:2005
static RelabelType * _readRelabelType(void)
Definition: readfuncs.c:884
static SetOp * _readSetOp(void)
Definition: readfuncs.c:2355
static SortGroupClause * _readSortGroupClause(void)
Definition: readfuncs.c:342
static Limit * _readLimit(void)
Definition: readfuncs.c:2394
static PartitionRangeDatum * _readPartitionRangeDatum(void)
Definition: readfuncs.c:2609
static GatherMerge * _readGatherMerge(void)
Definition: readfuncs.c:2314
static DeclareCursorStmt * _readDeclareCursorStmt(void)
Definition: readfuncs.c:310
static Gather * _readGather(void)
Definition: