PostgreSQL Source Code  git master
readfuncs.c File Reference
#include "postgres.h"
#include <math.h>
#include "fmgr.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 ArrayRef_readArrayRef (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 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 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 Sort_readSort (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 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 173 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 177 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);
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
AttrNumber * readAttrNumberCols(int numCols)
Definition: readfuncs.c:2761

Definition at line 143 of file readfuncs.c.

Referenced by _readAgg(), _readGatherMerge(), _readGroup(), _readMergeAppend(), _readRecursiveUnion(), _readSetOp(), _readSort(), _readUnique(), and _readWindowAgg().

◆ 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()
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
static Bitmapset * _readBitmapset(void)
Definition: readfuncs.c:185

Definition at line 137 of file readfuncs.c.

Referenced by _readAgg(), _readCustomScan(), _readForeignScan(), _readGather(), _readGatherMerge(), _readModifyTable(), _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);
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
bool * readBoolCols(int numCols)
Definition: readfuncs.c:2833

Definition at line 158 of file readfuncs.c.

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

◆ 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])
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107

Definition at line 93 of file readfuncs.c.

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

◆ READ_DONE

#define READ_DONE ( )    return local_node

Definition at line 163 of file readfuncs.c.

Referenced by _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _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(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoin(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMaterial(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNestLoop(), _readNestLoopParam(), _readNextValueExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readParam(), _readPartitionBoundSpec(), _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(), _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)
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107

Definition at line 106 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 length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
int * readIntCols(int numCols)
Definition: readfuncs.c:2809

Definition at line 153 of file readfuncs.c.

Referenced by _readMergeJoin().

◆ 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:49

Definition at line 58 of file readfuncs.c.

Referenced by _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _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(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNestLoop(), _readNestLoopParam(), _readNextValueExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readParam(), _readPartitionBoundSpec(), _readPartitionRangeDatum(), _readPlanInvalItem(), _readPlannedStmt(), _readPlanRowMark(), _readQuery(), _readRangeTblEntry(), _readRangeTblFunction(), _readRangeTblRef(), _readRangeVar(), _readRecursiveUnion(), _readRelabelType(), _readResult(), _readRowCompareExpr(), _readRowExpr(), _readRowMarkClause(), _readSampleScan(), _readScalarArrayOpExpr(), _readSetOp(), _readSetOperationStmt(), _readSetToDefault(), _readSort(), _readSortGroupClause(), _readSQLValueFunction(), _readSubLink(), _readSubPlan(), _readSubqueryScan(), _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)
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107

Definition at line 81 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)
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
void * nodeRead(char *token, int tok_len)
Definition: read.c:278

Definition at line 131 of file readfuncs.c.

Referenced by _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _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(), _readHashJoin(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNestLoop(), _readNestLoopParam(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readPartitionBoundSpec(), _readPartitionRangeDatum(), _readPlannedStmt(), _readQuery(), _readRangeTblEntry(), _readRangeTblFunction(), _readRangeVar(), _readRelabelType(), _readResult(), _readRowCompareExpr(), _readRowExpr(), _readSampleScan(), _readScalarArrayOpExpr(), _readSetOperationStmt(), _readSubLink(), _readSubPlan(), _readSubqueryScan(), _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);
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
Oid * readOidCols(int numCols)
Definition: readfuncs.c:2785

Definition at line 148 of file readfuncs.c.

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

◆ 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)
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
#define nullable_string(token, length)
Definition: readfuncs.c:177

Definition at line 118 of file readfuncs.c.

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

◆ READ_TEMP_LOCALS

#define READ_TEMP_LOCALS ( )
Value:
char *token; \
int length
int length(const List *list)
Definition: list.c:1333

Definition at line 53 of file readfuncs.c.

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

◆ 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)
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
uint64 pg_strtouint64(const char *str, char **endptr, int base)
Definition: numutils.c:405

Definition at line 75 of file readfuncs.c.

Referenced by _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:173
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107

Definition at line 69 of file readfuncs.c.

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

◆ strtobool

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

Definition at line 175 of file readfuncs.c.

Referenced by readBoolCols().

Function Documentation

◆ _readAgg()

static Agg* _readAgg ( void  )
static

Definition at line 2108 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, and ReadCommonPlan().

Referenced by parseNodeString().

2109 {
2110  READ_LOCALS(Agg);
2111 
2112  ReadCommonPlan(&local_node->plan);
2113 
2114  READ_ENUM_FIELD(aggstrategy, AggStrategy);
2115  READ_ENUM_FIELD(aggsplit, AggSplit);
2116  READ_INT_FIELD(numCols);
2117  READ_ATTRNUMBER_ARRAY(grpColIdx, local_node->numCols);
2118  READ_OID_ARRAY(grpOperators, local_node->numCols);
2119  READ_LONG_FIELD(numGroups);
2120  READ_BITMAPSET_FIELD(aggParams);
2121  READ_NODE_FIELD(groupingSets);
2122  READ_NODE_FIELD(chain);
2123 
2124  READ_DONE();
2125 }
#define READ_LONG_FIELD(fldname)
Definition: readfuncs.c:81
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
AggSplit
Definition: nodes.h:761
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
AggStrategy
Definition: nodes.h:739
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
Definition: plannodes.h:782
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readAggref()

static Aggref* _readAggref ( void  )
static

Definition at line 583 of file readfuncs.c.

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

Referenced by parseNodeString().

584 {
586 
587  READ_OID_FIELD(aggfnoid);
588  READ_OID_FIELD(aggtype);
589  READ_OID_FIELD(aggcollid);
590  READ_OID_FIELD(inputcollid);
591  READ_OID_FIELD(aggtranstype);
592  READ_NODE_FIELD(aggargtypes);
593  READ_NODE_FIELD(aggdirectargs);
595  READ_NODE_FIELD(aggorder);
596  READ_NODE_FIELD(aggdistinct);
597  READ_NODE_FIELD(aggfilter);
598  READ_BOOL_FIELD(aggstar);
599  READ_BOOL_FIELD(aggvariadic);
600  READ_CHAR_FIELD(aggkind);
601  READ_UINT_FIELD(agglevelsup);
602  READ_ENUM_FIELD(aggsplit, AggSplit);
603  READ_LOCATION_FIELD(location);
604 
605  READ_DONE();
606 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:93
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
AggSplit
Definition: nodes.h:761
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readAlias()

static Alias* _readAlias ( void  )
static

Definition at line 447 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_STRING_FIELD.

Referenced by parseNodeString().

448 {
450 
451  READ_STRING_FIELD(aliasname);
452  READ_NODE_FIELD(colnames);
453 
454  READ_DONE();
455 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readAlternativeSubPlan()

static AlternativeSubPlan* _readAlternativeSubPlan ( void  )
static

Definition at line 2366 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2367 {
2369 
2370  READ_NODE_FIELD(subplans);
2371 
2372  READ_DONE();
2373 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readAppend()

static Append* _readAppend ( void  )
static

Definition at line 1601 of file readfuncs.c.

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

Referenced by parseNodeString().

1602 {
1604 
1605  ReadCommonPlan(&local_node->plan);
1606 
1607  READ_NODE_FIELD(partitioned_rels);
1608  READ_NODE_FIELD(appendplans);
1609  READ_INT_FIELD(first_partial_plan);
1610 
1611  READ_DONE();
1612 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readArrayCoerceExpr()

static ArrayCoerceExpr* _readArrayCoerceExpr ( void  )
static

Definition at line 902 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().

903 {
905 
907  READ_NODE_FIELD(elemexpr);
908  READ_OID_FIELD(resulttype);
909  READ_INT_FIELD(resulttypmod);
910  READ_OID_FIELD(resultcollid);
911  READ_ENUM_FIELD(coerceformat, CoercionForm);
912  READ_LOCATION_FIELD(location);
913 
914  READ_DONE();
915 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
CoercionForm
Definition: primnodes.h:436

◆ _readArrayExpr()

static ArrayExpr* _readArrayExpr ( void  )
static

Definition at line 1000 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().

1001 {
1003 
1004  READ_OID_FIELD(array_typeid);
1005  READ_OID_FIELD(array_collid);
1006  READ_OID_FIELD(element_typeid);
1007  READ_NODE_FIELD(elements);
1008  READ_BOOL_FIELD(multidims);
1009  READ_LOCATION_FIELD(location);
1010 
1011  READ_DONE();
1012 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readArrayRef()

static ArrayRef* _readArrayRef ( void  )
static

Definition at line 651 of file readfuncs.c.

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

Referenced by parseNodeString().

652 {
654 
655  READ_OID_FIELD(refarraytype);
656  READ_OID_FIELD(refelemtype);
657  READ_INT_FIELD(reftypmod);
658  READ_OID_FIELD(refcollid);
659  READ_NODE_FIELD(refupperindexpr);
660  READ_NODE_FIELD(reflowerindexpr);
661  READ_NODE_FIELD(refexpr);
662  READ_NODE_FIELD(refassgnexpr);
663 
664  READ_DONE();
665 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readBitmapAnd()

static BitmapAnd* _readBitmapAnd ( void  )
static

Definition at line 1658 of file readfuncs.c.

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

Referenced by parseNodeString().

1659 {
1661 
1662  ReadCommonPlan(&local_node->plan);
1663 
1664  READ_NODE_FIELD(bitmapplans);
1665 
1666  READ_DONE();
1667 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readBitmapHeapScan()

static BitmapHeapScan* _readBitmapHeapScan ( void  )
static

Definition at line 1802 of file readfuncs.c.

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

Referenced by parseNodeString().

1803 {
1805 
1806  ReadCommonScan(&local_node->scan);
1807 
1808  READ_NODE_FIELD(bitmapqualorig);
1809 
1810  READ_DONE();
1811 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readBitmapIndexScan()

static BitmapIndexScan* _readBitmapIndexScan ( void  )
static

Definition at line 1784 of file readfuncs.c.

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

Referenced by parseNodeString().

1785 {
1787 
1788  ReadCommonScan(&local_node->scan);
1789 
1790  READ_OID_FIELD(indexid);
1791  READ_BOOL_FIELD(isshared);
1792  READ_NODE_FIELD(indexqual);
1793  READ_NODE_FIELD(indexqualorig);
1794 
1795  READ_DONE();
1796 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readBitmapOr()

static BitmapOr* _readBitmapOr ( void  )
static

Definition at line 1673 of file readfuncs.c.

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

Referenced by parseNodeString().

1674 {
1676 
1677  ReadCommonPlan(&local_node->plan);
1678 
1679  READ_BOOL_FIELD(isshared);
1680  READ_NODE_FIELD(bitmapplans);
1681 
1682  READ_DONE();
1683 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readBitmapset()

static Bitmapset* _readBitmapset ( void  )
static

Definition at line 185 of file readfuncs.c.

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

Referenced by readBitmapset().

186 {
187  Bitmapset *result = NULL;
188 
190 
191  token = pg_strtok(&length);
192  if (token == NULL)
193  elog(ERROR, "incomplete Bitmapset structure");
194  if (length != 1 || token[0] != '(')
195  elog(ERROR, "unrecognized token: \"%.*s\"", length, token);
196 
197  token = pg_strtok(&length);
198  if (token == NULL)
199  elog(ERROR, "incomplete Bitmapset structure");
200  if (length != 1 || token[0] != 'b')
201  elog(ERROR, "unrecognized token: \"%.*s\"", length, token);
202 
203  for (;;)
204  {
205  int val;
206  char *endptr;
207 
208  token = pg_strtok(&length);
209  if (token == NULL)
210  elog(ERROR, "unterminated Bitmapset structure");
211  if (length == 1 && token[0] == ')')
212  break;
213  val = (int) strtol(token, &endptr, 10);
214  if (endptr != token + length)
215  elog(ERROR, "unrecognized integer: \"%.*s\"", length, token);
216  result = bms_add_member(result, val);
217  }
218 
219  return result;
220 }
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
#define ERROR
Definition: elog.h:43
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:53
Bitmapset * bms_add_member(Bitmapset *a, int x)
Definition: bitmapset.c:742
#define elog
Definition: elog.h:219
long val
Definition: informix.c:689

◆ _readBooleanTest()

static BooleanTest* _readBooleanTest ( void  )
static

Definition at line 1140 of file readfuncs.c.

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

Referenced by parseNodeString().

1141 {
1143 
1145  READ_ENUM_FIELD(booltesttype, BoolTestType);
1146  READ_LOCATION_FIELD(location);
1147 
1148  READ_DONE();
1149 }
BoolTestType
Definition: primnodes.h:1202
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
void * arg
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readBoolExpr()

static BoolExpr* _readBoolExpr ( void  )
static

Definition at line 786 of file readfuncs.c.

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

Referenced by parseNodeString().

787 {
789 
790  /* do-it-yourself enum representation */
791  token = pg_strtok(&length); /* skip :boolop */
792  token = pg_strtok(&length); /* get field value */
793  if (strncmp(token, "and", 3) == 0)
794  local_node->boolop = AND_EXPR;
795  else if (strncmp(token, "or", 2) == 0)
796  local_node->boolop = OR_EXPR;
797  else if (strncmp(token, "not", 3) == 0)
798  local_node->boolop = NOT_EXPR;
799  else
800  elog(ERROR, "unrecognized boolop \"%.*s\"", length, token);
801 
803  READ_LOCATION_FIELD(location);
804 
805  READ_DONE();
806 }
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
#define ERROR
Definition: elog.h:43
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define elog
Definition: elog.h:219

◆ _readCaseExpr()

static CaseExpr* _readCaseExpr ( void  )
static

Definition at line 952 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().

953 {
955 
956  READ_OID_FIELD(casetype);
957  READ_OID_FIELD(casecollid);
960  READ_NODE_FIELD(defresult);
961  READ_LOCATION_FIELD(location);
962 
963  READ_DONE();
964 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readCaseTestExpr()

static CaseTestExpr* _readCaseTestExpr ( void  )
static

Definition at line 985 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_OID_FIELD.

Referenced by parseNodeString().

986 {
988 
989  READ_OID_FIELD(typeId);
990  READ_INT_FIELD(typeMod);
991  READ_OID_FIELD(collation);
992 
993  READ_DONE();
994 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readCaseWhen()

static CaseWhen* _readCaseWhen ( void  )
static

Definition at line 970 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_LOCATION_FIELD, and READ_NODE_FIELD.

Referenced by parseNodeString().

971 {
973 
974  READ_NODE_FIELD(expr);
975  READ_NODE_FIELD(result);
976  READ_LOCATION_FIELD(location);
977 
978  READ_DONE();
979 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readCoalesceExpr()

static CoalesceExpr* _readCoalesceExpr ( void  )
static

Definition at line 1053 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().

1054 {
1056 
1057  READ_OID_FIELD(coalescetype);
1058  READ_OID_FIELD(coalescecollid);
1060  READ_LOCATION_FIELD(location);
1061 
1062  READ_DONE();
1063 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readCoerceToDomain()

static CoerceToDomain* _readCoerceToDomain ( void  )
static

Definition at line 1155 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().

1156 {
1158 
1160  READ_OID_FIELD(resulttype);
1161  READ_INT_FIELD(resulttypmod);
1162  READ_OID_FIELD(resultcollid);
1163  READ_ENUM_FIELD(coercionformat, CoercionForm);
1164  READ_LOCATION_FIELD(location);
1165 
1166  READ_DONE();
1167 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
CoercionForm
Definition: primnodes.h:436

◆ _readCoerceToDomainValue()

static CoerceToDomainValue* _readCoerceToDomainValue ( void  )
static

Definition at line 1173 of file readfuncs.c.

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

Referenced by parseNodeString().

1174 {
1176 
1177  READ_OID_FIELD(typeId);
1178  READ_INT_FIELD(typeMod);
1179  READ_OID_FIELD(collation);
1180  READ_LOCATION_FIELD(location);
1181 
1182  READ_DONE();
1183 }
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readCoerceViaIO()

static CoerceViaIO* _readCoerceViaIO ( void  )
static

Definition at line 885 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().

886 {
888 
890  READ_OID_FIELD(resulttype);
891  READ_OID_FIELD(resultcollid);
892  READ_ENUM_FIELD(coerceformat, CoercionForm);
893  READ_LOCATION_FIELD(location);
894 
895  READ_DONE();
896 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163
CoercionForm
Definition: primnodes.h:436

◆ _readCollateExpr()

static CollateExpr* _readCollateExpr ( void  )
static

Definition at line 937 of file readfuncs.c.

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

Referenced by parseNodeString().

938 {
940 
942  READ_OID_FIELD(collOid);
943  READ_LOCATION_FIELD(location);
944 
945  READ_DONE();
946 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readCommonTableExpr()

static CommonTableExpr* _readCommonTableExpr ( void  )
static

Definition at line 403 of file readfuncs.c.

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

Referenced by parseNodeString().

404 {
406 
407  READ_STRING_FIELD(ctename);
408  READ_NODE_FIELD(aliascolnames);
409  READ_NODE_FIELD(ctequery);
410  READ_LOCATION_FIELD(location);
411  READ_BOOL_FIELD(cterecursive);
412  READ_INT_FIELD(cterefcount);
413  READ_NODE_FIELD(ctecolnames);
414  READ_NODE_FIELD(ctecoltypes);
415  READ_NODE_FIELD(ctecoltypmods);
416  READ_NODE_FIELD(ctecolcollations);
417 
418  READ_DONE();
419 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readConst()

static Const* _readConst ( void  )
static

Definition at line 540 of file readfuncs.c.

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

Referenced by parseNodeString().

541 {
543 
544  READ_OID_FIELD(consttype);
545  READ_INT_FIELD(consttypmod);
546  READ_OID_FIELD(constcollid);
547  READ_INT_FIELD(constlen);
548  READ_BOOL_FIELD(constbyval);
549  READ_BOOL_FIELD(constisnull);
550  READ_LOCATION_FIELD(location);
551 
552  token = pg_strtok(&length); /* skip :constvalue */
553  if (local_node->constisnull)
554  token = pg_strtok(&length); /* skip "<>" */
555  else
556  local_node->constvalue = readDatum(local_node->constbyval);
557 
558  READ_DONE();
559 }
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
Datum readDatum(bool typbyval)
Definition: readfuncs.c:2704
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readConvertRowtypeExpr()

static ConvertRowtypeExpr* _readConvertRowtypeExpr ( void  )
static

Definition at line 921 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().

922 {
924 
926  READ_OID_FIELD(resulttype);
927  READ_ENUM_FIELD(convertformat, CoercionForm);
928  READ_LOCATION_FIELD(location);
929 
930  READ_DONE();
931 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163
CoercionForm
Definition: primnodes.h:436

◆ _readCteScan()

static CteScan* _readCteScan ( void  )
static

Definition at line 1893 of file readfuncs.c.

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

Referenced by parseNodeString().

1894 {
1896 
1897  ReadCommonScan(&local_node->scan);
1898 
1899  READ_INT_FIELD(ctePlanId);
1900  READ_INT_FIELD(cteParam);
1901 
1902  READ_DONE();
1903 }
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readCurrentOfExpr()

static CurrentOfExpr* _readCurrentOfExpr ( void  )
static

Definition at line 1205 of file readfuncs.c.

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

Referenced by parseNodeString().

1206 {
1208 
1209  READ_UINT_FIELD(cvarno);
1210  READ_STRING_FIELD(cursor_name);
1211  READ_INT_FIELD(cursor_param);
1212 
1213  READ_DONE();
1214 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readCustomScan()

static CustomScan* _readCustomScan ( void  )
static

Definition at line 1946 of file readfuncs.c.

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

Referenced by parseNodeString().

1947 {
1949  char *custom_name;
1950  const CustomScanMethods *methods;
1951 
1952  ReadCommonScan(&local_node->scan);
1953 
1954  READ_UINT_FIELD(flags);
1955  READ_NODE_FIELD(custom_plans);
1956  READ_NODE_FIELD(custom_exprs);
1957  READ_NODE_FIELD(custom_private);
1958  READ_NODE_FIELD(custom_scan_tlist);
1959  READ_BITMAPSET_FIELD(custom_relids);
1960 
1961  /* Lookup CustomScanMethods by CustomName */
1962  token = pg_strtok(&length); /* skip methods: */
1963  token = pg_strtok(&length); /* CustomName */
1964  custom_name = nullable_string(token, length);
1965  methods = GetCustomScanMethods(custom_name, false);
1966  local_node->methods = methods;
1967 
1968  READ_DONE();
1969 }
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
const CustomScanMethods * GetCustomScanMethods(const char *CustomName, bool missing_ok)
Definition: extensible.c:137
#define nullable_string(token, length)
Definition: readfuncs.c:177

◆ _readDeclareCursorStmt()

static DeclareCursorStmt* _readDeclareCursorStmt ( void  )
static

Definition at line 297 of file readfuncs.c.

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

Referenced by parseNodeString().

298 {
300 
301  READ_STRING_FIELD(portalname);
303  READ_NODE_FIELD(query);
304 
305  READ_DONE();
306 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readDefElem()

static DefElem* _readDefElem ( void  )
static

Definition at line 1449 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().

1450 {
1452 
1453  READ_STRING_FIELD(defnamespace);
1454  READ_STRING_FIELD(defname);
1456  READ_ENUM_FIELD(defaction, DefElemAction);
1457  READ_LOCATION_FIELD(location);
1458 
1459  READ_DONE();
1460 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
DefElemAction
Definition: parsenodes.h:715
void * arg
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readDistinctExpr()

static DistinctExpr* _readDistinctExpr ( void  )
static

Definition at line 728 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().

729 {
731 
732  READ_OID_FIELD(opno);
733  READ_OID_FIELD(opfuncid);
734  READ_OID_FIELD(opresulttype);
735  READ_BOOL_FIELD(opretset);
736  READ_OID_FIELD(opcollid);
737  READ_OID_FIELD(inputcollid);
739  READ_LOCATION_FIELD(location);
740 
741  READ_DONE();
742 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readExtensibleNode()

static ExtensibleNode* _readExtensibleNode ( void  )
static

Definition at line 2379 of file readfuncs.c.

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

Referenced by parseNodeString().

2380 {
2381  const ExtensibleNodeMethods *methods;
2382  ExtensibleNode *local_node;
2383  const char *extnodename;
2384 
2385  READ_TEMP_LOCALS();
2386 
2387  token = pg_strtok(&length); /* skip :extnodename */
2388  token = pg_strtok(&length); /* get extnodename */
2389 
2390  extnodename = nullable_string(token, length);
2391  if (!extnodename)
2392  elog(ERROR, "extnodename has to be supplied");
2393  methods = GetExtensibleNodeMethods(extnodename, false);
2394 
2395  local_node = (ExtensibleNode *) newNode(methods->node_size,
2397  local_node->extnodename = extnodename;
2398 
2399  /* deserialize the private fields */
2400  methods->nodeRead(local_node);
2401 
2402  READ_DONE();
2403 }
int length(const List *list)
Definition: list.c:1333
char * pg_strtok(int *length)
Definition: read.c:107
#define newNode(size, tag)
Definition: nodes.h:551
#define ERROR
Definition: elog.h:43
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:53
const char * extnodename
Definition: extensible.h:35
void(* nodeRead)(struct ExtensibleNode *node)
Definition: extensible.h:70
#define READ_DONE()
Definition: readfuncs.c:163
#define elog
Definition: elog.h:219
const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *extnodename, bool missing_ok)
Definition: extensible.c:125
#define nullable_string(token, length)
Definition: readfuncs.c:177

◆ _readFieldSelect()

static FieldSelect* _readFieldSelect ( void  )
static

Definition at line 834 of file readfuncs.c.

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

Referenced by parseNodeString().

835 {
837 
839  READ_INT_FIELD(fieldnum);
840  READ_OID_FIELD(resulttype);
841  READ_INT_FIELD(resulttypmod);
842  READ_OID_FIELD(resultcollid);
843 
844  READ_DONE();
845 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readFieldStore()

static FieldStore* _readFieldStore ( void  )
static

Definition at line 851 of file readfuncs.c.

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

Referenced by parseNodeString().

852 {
854 
856  READ_NODE_FIELD(newvals);
857  READ_NODE_FIELD(fieldnums);
858  READ_OID_FIELD(resulttype);
859 
860  READ_DONE();
861 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readForeignScan()

static ForeignScan* _readForeignScan ( void  )
static

Definition at line 1924 of file readfuncs.c.

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

Referenced by parseNodeString().

1925 {
1927 
1928  ReadCommonScan(&local_node->scan);
1929 
1930  READ_ENUM_FIELD(operation, CmdType);
1931  READ_OID_FIELD(fs_server);
1932  READ_NODE_FIELD(fdw_exprs);
1933  READ_NODE_FIELD(fdw_private);
1934  READ_NODE_FIELD(fdw_scan_tlist);
1935  READ_NODE_FIELD(fdw_recheck_quals);
1936  READ_BITMAPSET_FIELD(fs_relids);
1937  READ_BOOL_FIELD(fsSystemCol);
1938 
1939  READ_DONE();
1940 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
CmdType
Definition: nodes.h:653

◆ _readFromExpr()

static FromExpr* _readFromExpr ( void  )
static

Definition at line 1301 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

1302 {
1304 
1305  READ_NODE_FIELD(fromlist);
1306  READ_NODE_FIELD(quals);
1307 
1308  READ_DONE();
1309 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readFuncExpr()

static FuncExpr* _readFuncExpr ( void  )
static

Definition at line 671 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().

672 {
674 
675  READ_OID_FIELD(funcid);
676  READ_OID_FIELD(funcresulttype);
677  READ_BOOL_FIELD(funcretset);
678  READ_BOOL_FIELD(funcvariadic);
679  READ_ENUM_FIELD(funcformat, CoercionForm);
680  READ_OID_FIELD(funccollid);
681  READ_OID_FIELD(inputcollid);
683  READ_LOCATION_FIELD(location);
684 
685  READ_DONE();
686 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
CoercionForm
Definition: primnodes.h:436

◆ _readFunctionScan()

static FunctionScan* _readFunctionScan ( void  )
static

Definition at line 1847 of file readfuncs.c.

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

Referenced by parseNodeString().

1848 {
1850 
1851  ReadCommonScan(&local_node->scan);
1852 
1854  READ_BOOL_FIELD(funcordinality);
1855 
1856  READ_DONE();
1857 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
static const struct fns functions
Definition: regcomp.c:299
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readGather()

static Gather* _readGather ( void  )
static

Definition at line 2177 of file readfuncs.c.

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

Referenced by parseNodeString().

2178 {
2180 
2181  ReadCommonPlan(&local_node->plan);
2182 
2183  READ_INT_FIELD(num_workers);
2184  READ_INT_FIELD(rescan_param);
2185  READ_BOOL_FIELD(single_copy);
2186  READ_BOOL_FIELD(invisible);
2187  READ_BITMAPSET_FIELD(initParam);
2188 
2189  READ_DONE();
2190 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readGatherMerge()

static GatherMerge* _readGatherMerge ( void  )
static

Definition at line 2196 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().

2197 {
2199 
2200  ReadCommonPlan(&local_node->plan);
2201 
2202  READ_INT_FIELD(num_workers);
2203  READ_INT_FIELD(rescan_param);
2204  READ_INT_FIELD(numCols);
2205  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
2206  READ_OID_ARRAY(sortOperators, local_node->numCols);
2207  READ_OID_ARRAY(collations, local_node->numCols);
2208  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
2209  READ_BITMAPSET_FIELD(initParam);
2210 
2211  READ_DONE();
2212 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:158
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readGroup()

static Group* _readGroup ( void  )
static

Definition at line 2091 of file readfuncs.c.

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

Referenced by parseNodeString().

2092 {
2093  READ_LOCALS(Group);
2094 
2095  ReadCommonPlan(&local_node->plan);
2096 
2097  READ_INT_FIELD(numCols);
2098  READ_ATTRNUMBER_ARRAY(grpColIdx, local_node->numCols);
2099  READ_OID_ARRAY(grpOperators, local_node->numCols);
2100 
2101  READ_DONE();
2102 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readGroupingFunc()

static GroupingFunc* _readGroupingFunc ( void  )
static

Definition at line 612 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().

613 {
615 
617  READ_NODE_FIELD(refs);
618  READ_NODE_FIELD(cols);
619  READ_UINT_FIELD(agglevelsup);
620  READ_LOCATION_FIELD(location);
621 
622  READ_DONE();
623 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readGroupingSet()

static GroupingSet* _readGroupingSet ( void  )
static

Definition at line 346 of file readfuncs.c.

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

Referenced by parseNodeString().

347 {
349 
351  READ_NODE_FIELD(content);
352  READ_LOCATION_FIELD(location);
353 
354  READ_DONE();
355 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
GroupingSetKind
Definition: parsenodes.h:1261
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readHash()

static Hash* _readHash ( void  )
static

Definition at line 2218 of file readfuncs.c.

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

Referenced by parseNodeString().

2219 {
2220  READ_LOCALS(Hash);
2221 
2222  ReadCommonPlan(&local_node->plan);
2223 
2224  READ_OID_FIELD(skewTable);
2225  READ_INT_FIELD(skewColumn);
2226  READ_BOOL_FIELD(skewInherit);
2227  READ_FLOAT_FIELD(rows_total);
2228 
2229  READ_DONE();
2230 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:106
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readHashJoin()

static HashJoin* _readHashJoin ( void  )
static

Definition at line 2044 of file readfuncs.c.

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

Referenced by parseNodeString().

2045 {
2047 
2048  ReadCommonJoin(&local_node->join);
2049 
2050  READ_NODE_FIELD(hashclauses);
2051 
2052  READ_DONE();
2053 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:1976
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readIndexOnlyScan()

static IndexOnlyScan* _readIndexOnlyScan ( void  )
static

Definition at line 1765 of file readfuncs.c.

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

Referenced by parseNodeString().

1766 {
1768 
1769  ReadCommonScan(&local_node->scan);
1770 
1771  READ_OID_FIELD(indexid);
1772  READ_NODE_FIELD(indexqual);
1773  READ_NODE_FIELD(indexorderby);
1774  READ_NODE_FIELD(indextlist);
1775  READ_ENUM_FIELD(indexorderdir, ScanDirection);
1776 
1777  READ_DONE();
1778 }
ScanDirection
Definition: sdir.h:22
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readIndexScan()

static IndexScan* _readIndexScan ( void  )
static

Definition at line 1744 of file readfuncs.c.

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

Referenced by parseNodeString().

1745 {
1747 
1748  ReadCommonScan(&local_node->scan);
1749 
1750  READ_OID_FIELD(indexid);
1751  READ_NODE_FIELD(indexqual);
1752  READ_NODE_FIELD(indexqualorig);
1753  READ_NODE_FIELD(indexorderby);
1754  READ_NODE_FIELD(indexorderbyorig);
1755  READ_NODE_FIELD(indexorderbyops);
1756  READ_ENUM_FIELD(indexorderdir, ScanDirection);
1757 
1758  READ_DONE();
1759 }
ScanDirection
Definition: sdir.h:22
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readInferenceElem()

static InferenceElem* _readInferenceElem ( void  )
static

Definition at line 1234 of file readfuncs.c.

References READ_DONE, READ_LOCALS, READ_NODE_FIELD, and READ_OID_FIELD.

Referenced by parseNodeString().

1235 {
1237 
1238  READ_NODE_FIELD(expr);
1239  READ_OID_FIELD(infercollid);
1240  READ_OID_FIELD(inferopclass);
1241 
1242  READ_DONE();
1243 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readIntoClause()

static IntoClause* _readIntoClause ( void  )
static

Definition at line 500 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().

501 {
503 
504  READ_NODE_FIELD(rel);
505  READ_NODE_FIELD(colNames);
507  READ_ENUM_FIELD(onCommit, OnCommitAction);
508  READ_STRING_FIELD(tableSpaceName);
509  READ_NODE_FIELD(viewQuery);
510  READ_BOOL_FIELD(skipData);
511 
512  READ_DONE();
513 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
OnCommitAction
Definition: primnodes.h:47
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readJoin()

static Join* _readJoin ( void  )
static

Definition at line 1991 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonJoin().

Referenced by parseNodeString().

1992 {
1994 
1995  ReadCommonJoin(local_node);
1996 
1997  READ_DONE();
1998 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:49
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:1976
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readJoinExpr()

static JoinExpr* _readJoinExpr ( void  )
static

Definition at line 1281 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().

1282 {
1284 
1285  READ_ENUM_FIELD(jointype, JoinType);
1286  READ_BOOL_FIELD(isNatural);
1287  READ_NODE_FIELD(larg);
1288  READ_NODE_FIELD(rarg);
1289  READ_NODE_FIELD(usingClause);
1290  READ_NODE_FIELD(quals);
1291  READ_NODE_FIELD(alias);
1292  READ_INT_FIELD(rtindex);
1293 
1294  READ_DONE();
1295 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
JoinType
Definition: nodes.h:677
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readLimit()

static Limit* _readLimit ( void  )
static

Definition at line 2274 of file readfuncs.c.

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

Referenced by parseNodeString().

2275 {
2276  READ_LOCALS(Limit);
2277 
2278  ReadCommonPlan(&local_node->plan);
2279 
2280  READ_NODE_FIELD(limitOffset);
2281  READ_NODE_FIELD(limitCount);
2282 
2283  READ_DONE();
2284 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readLockRows()

static LockRows* _readLockRows ( void  )
static

Definition at line 2258 of file readfuncs.c.

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

Referenced by parseNodeString().

2259 {
2261 
2262  ReadCommonPlan(&local_node->plan);
2263 
2264  READ_NODE_FIELD(rowMarks);
2265  READ_INT_FIELD(epqParam);
2266 
2267  READ_DONE();
2268 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readMaterial()

static Material* _readMaterial ( void  )
static

Definition at line 2059 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonPlan().

Referenced by parseNodeString().

2060 {
2062 
2063  ReadCommonPlan(&local_node->plan);
2064 
2065  READ_DONE();
2066 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:49
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readMergeAppend()

static MergeAppend* _readMergeAppend ( void  )
static

Definition at line 1618 of file readfuncs.c.

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

Referenced by parseNodeString().

1619 {
1621 
1622  ReadCommonPlan(&local_node->plan);
1623 
1624  READ_NODE_FIELD(partitioned_rels);
1625  READ_NODE_FIELD(mergeplans);
1626  READ_INT_FIELD(numCols);
1627  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
1628  READ_OID_ARRAY(sortOperators, local_node->numCols);
1629  READ_OID_ARRAY(collations, local_node->numCols);
1630  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
1631 
1632  READ_DONE();
1633 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:158
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readMergeJoin()

static MergeJoin* _readMergeJoin ( void  )
static

Definition at line 2019 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().

2020 {
2021  int numCols;
2022 
2024 
2025  ReadCommonJoin(&local_node->join);
2026 
2027  READ_BOOL_FIELD(skip_mark_restore);
2028  READ_NODE_FIELD(mergeclauses);
2029 
2030  numCols = list_length(local_node->mergeclauses);
2031 
2032  READ_OID_ARRAY(mergeFamilies, numCols);
2033  READ_OID_ARRAY(mergeCollations, numCols);
2034  READ_INT_ARRAY(mergeStrategies, numCols);
2035  READ_BOOL_ARRAY(mergeNullsFirst, numCols);
2036 
2037  READ_DONE();
2038 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:158
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:1976
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
static int list_length(const List *l)
Definition: pg_list.h:89
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_ARRAY(fldname, len)
Definition: readfuncs.c:153

◆ _readMinMaxExpr()

static MinMaxExpr* _readMinMaxExpr ( void  )
static

Definition at line 1069 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().

1070 {
1072 
1073  READ_OID_FIELD(minmaxtype);
1074  READ_OID_FIELD(minmaxcollid);
1075  READ_OID_FIELD(inputcollid);
1078  READ_LOCATION_FIELD(location);
1079 
1080  READ_DONE();
1081 }
MinMaxOp
Definition: primnodes.h:1061
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readModifyTable()

static ModifyTable* _readModifyTable ( void  )
static

Definition at line 1566 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().

1567 {
1569 
1570  ReadCommonPlan(&local_node->plan);
1571 
1572  READ_ENUM_FIELD(operation, CmdType);
1573  READ_BOOL_FIELD(canSetTag);
1574  READ_UINT_FIELD(nominalRelation);
1575  READ_NODE_FIELD(partitioned_rels);
1576  READ_BOOL_FIELD(partColsUpdated);
1577  READ_NODE_FIELD(resultRelations);
1578  READ_INT_FIELD(resultRelIndex);
1579  READ_INT_FIELD(rootResultRelIndex);
1580  READ_NODE_FIELD(plans);
1581  READ_NODE_FIELD(withCheckOptionLists);
1582  READ_NODE_FIELD(returningLists);
1583  READ_NODE_FIELD(fdwPrivLists);
1584  READ_BITMAPSET_FIELD(fdwDirectModifyPlans);
1585  READ_NODE_FIELD(rowMarks);
1586  READ_INT_FIELD(epqParam);
1587  READ_ENUM_FIELD(onConflictAction, OnConflictAction);
1588  READ_NODE_FIELD(arbiterIndexes);
1589  READ_NODE_FIELD(onConflictSet);
1590  READ_NODE_FIELD(onConflictWhere);
1591  READ_UINT_FIELD(exclRelRTI);
1592  READ_NODE_FIELD(exclRelTlist);
1593 
1594  READ_DONE();
1595 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
OnConflictAction
Definition: nodes.h:803
CmdType
Definition: nodes.h:653

◆ _readNamedArgExpr()

static NamedArgExpr* _readNamedArgExpr ( void  )
static

Definition at line 692 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().

693 {
695 
698  READ_INT_FIELD(argnumber);
699  READ_LOCATION_FIELD(location);
700 
701  READ_DONE();
702 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
const char * name
Definition: encode.c:521
void * arg
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readNestLoop()

static NestLoop* _readNestLoop ( void  )
static

Definition at line 2004 of file readfuncs.c.

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

Referenced by parseNodeString().

2005 {
2007 
2008  ReadCommonJoin(&local_node->join);
2009 
2010  READ_NODE_FIELD(nestParams);
2011 
2012  READ_DONE();
2013 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonJoin(Join *local_node)
Definition: readfuncs.c:1976
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readNestLoopParam()

static NestLoopParam* _readNestLoopParam ( void  )
static

Definition at line 2290 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

2291 {
2293 
2294  READ_INT_FIELD(paramno);
2295  READ_NODE_FIELD(paramval);
2296 
2297  READ_DONE();
2298 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readNextValueExpr()

static NextValueExpr* _readNextValueExpr ( void  )
static

Definition at line 1220 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_OID_FIELD.

Referenced by parseNodeString().

1221 {
1223 
1224  READ_OID_FIELD(seqid);
1225  READ_OID_FIELD(typeId);
1226 
1227  READ_DONE();
1228 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readNotifyStmt()

static NotifyStmt* _readNotifyStmt ( void  )
static

Definition at line 283 of file readfuncs.c.

References READ_DONE, READ_LOCALS, and READ_STRING_FIELD.

Referenced by parseNodeString().

284 {
286 
287  READ_STRING_FIELD(conditionname);
288  READ_STRING_FIELD(payload);
289 
290  READ_DONE();
291 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readNullIfExpr()

static NullIfExpr* _readNullIfExpr ( void  )
static

Definition at line 748 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().

749 {
751 
752  READ_OID_FIELD(opno);
753  READ_OID_FIELD(opfuncid);
754  READ_OID_FIELD(opresulttype);
755  READ_BOOL_FIELD(opretset);
756  READ_OID_FIELD(opcollid);
757  READ_OID_FIELD(inputcollid);
759  READ_LOCATION_FIELD(location);
760 
761  READ_DONE();
762 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readNullTest()

static NullTest* _readNullTest ( void  )
static

Definition at line 1124 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().

1125 {
1127 
1129  READ_ENUM_FIELD(nulltesttype, NullTestType);
1130  READ_BOOL_FIELD(argisrow);
1131  READ_LOCATION_FIELD(location);
1132 
1133  READ_DONE();
1134 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
NullTestType
Definition: primnodes.h:1179
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
void * arg
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readOnConflictExpr()

static OnConflictExpr* _readOnConflictExpr ( void  )
static

Definition at line 1315 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().

1316 {
1318 
1320  READ_NODE_FIELD(arbiterElems);
1321  READ_NODE_FIELD(arbiterWhere);
1322  READ_OID_FIELD(constraint);
1323  READ_NODE_FIELD(onConflictSet);
1324  READ_NODE_FIELD(onConflictWhere);
1325  READ_INT_FIELD(exclRelIndex);
1326  READ_NODE_FIELD(exclRelTlist);
1327 
1328  READ_DONE();
1329 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
OnConflictAction
Definition: nodes.h:803

◆ _readOpExpr()

static OpExpr* _readOpExpr ( void  )
static

Definition at line 708 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().

709 {
711 
712  READ_OID_FIELD(opno);
713  READ_OID_FIELD(opfuncid);
714  READ_OID_FIELD(opresulttype);
715  READ_BOOL_FIELD(opretset);
716  READ_OID_FIELD(opcollid);
717  READ_OID_FIELD(inputcollid);
719  READ_LOCATION_FIELD(location);
720 
721  READ_DONE();
722 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readParam()

static Param* _readParam ( void  )
static

Definition at line 565 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().

566 {
568 
569  READ_ENUM_FIELD(paramkind, ParamKind);
570  READ_INT_FIELD(paramid);
571  READ_OID_FIELD(paramtype);
572  READ_INT_FIELD(paramtypmod);
573  READ_OID_FIELD(paramcollid);
574  READ_LOCATION_FIELD(location);
575 
576  READ_DONE();
577 }
ParamKind
Definition: primnodes.h:233
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readPartitionBoundSpec()

static PartitionBoundSpec* _readPartitionBoundSpec ( void  )
static

Definition at line 2409 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().

2410 {
2412 
2413  READ_CHAR_FIELD(strategy);
2414  READ_BOOL_FIELD(is_default);
2415  READ_INT_FIELD(modulus);
2416  READ_INT_FIELD(remainder);
2417  READ_NODE_FIELD(listdatums);
2418  READ_NODE_FIELD(lowerdatums);
2419  READ_NODE_FIELD(upperdatums);
2420  READ_LOCATION_FIELD(location);
2421 
2422  READ_DONE();
2423 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:93
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readPartitionRangeDatum()

static PartitionRangeDatum* _readPartitionRangeDatum ( void  )
static

Definition at line 2429 of file readfuncs.c.

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

Referenced by parseNodeString().

2430 {
2432 
2435  READ_LOCATION_FIELD(location);
2436 
2437  READ_DONE();
2438 }
static struct @130 value
PartitionRangeDatumKind
Definition: parsenodes.h:831
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readPlan()

static Plan* _readPlan ( void  )
static

Definition at line 1525 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonPlan().

Referenced by parseNodeString().

1526 {
1528 
1529  ReadCommonPlan(local_node);
1530 
1531  READ_DONE();
1532 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:49
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readPlanInvalItem()

static PlanInvalItem* _readPlanInvalItem ( void  )
static

Definition at line 2324 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, READ_LOCALS, and READ_UINT_FIELD.

Referenced by parseNodeString().

2325 {
2327 
2328  READ_INT_FIELD(cacheId);
2329  READ_UINT_FIELD(hashValue);
2330 
2331  READ_DONE();
2332 }
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readPlannedStmt()

static PlannedStmt* _readPlannedStmt ( void  )
static

Definition at line 1466 of file readfuncs.c.

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

Referenced by parseNodeString().

1467 {
1469 
1470  READ_ENUM_FIELD(commandType, CmdType);
1471  READ_UINT64_FIELD(queryId);
1472  READ_BOOL_FIELD(hasReturning);
1473  READ_BOOL_FIELD(hasModifyingCTE);
1474  READ_BOOL_FIELD(canSetTag);
1475  READ_BOOL_FIELD(transientPlan);
1476  READ_BOOL_FIELD(dependsOnRole);
1477  READ_BOOL_FIELD(parallelModeNeeded);
1478  READ_NODE_FIELD(planTree);
1479  READ_NODE_FIELD(rtable);
1480  READ_NODE_FIELD(resultRelations);
1481  READ_NODE_FIELD(nonleafResultRelations);
1482  READ_NODE_FIELD(rootResultRelations);
1483  READ_NODE_FIELD(subplans);
1484  READ_BITMAPSET_FIELD(rewindPlanIDs);
1485  READ_NODE_FIELD(rowMarks);
1486  READ_NODE_FIELD(relationOids);
1487  READ_NODE_FIELD(invalItems);
1488  READ_NODE_FIELD(paramExecTypes);
1489  READ_NODE_FIELD(utilityStmt);
1490  READ_LOCATION_FIELD(stmt_location);
1491  READ_LOCATION_FIELD(stmt_len);
1492 
1493  READ_DONE();
1494 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_UINT64_FIELD(fldname)
Definition: readfuncs.c:75
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
CmdType
Definition: nodes.h:653

◆ _readPlanRowMark()

static PlanRowMark* _readPlanRowMark ( void  )
static

Definition at line 2304 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().

2305 {
2307 
2308  READ_UINT_FIELD(rti);
2309  READ_UINT_FIELD(prti);
2310  READ_UINT_FIELD(rowmarkId);
2311  READ_ENUM_FIELD(markType, RowMarkType);
2312  READ_INT_FIELD(allMarkTypes);
2314  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
2315  READ_BOOL_FIELD(isParent);
2316 
2317  READ_DONE();
2318 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
LockClauseStrength
Definition: lockoptions.h:21
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
RowMarkType
Definition: plannodes.h:972
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
LockWaitPolicy
Definition: lockoptions.h:36

◆ _readProjectSet()

static ProjectSet* _readProjectSet ( void  )
static

Definition at line 1553 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonPlan().

Referenced by parseNodeString().

1554 {
1556 
1557  ReadCommonPlan(&local_node->plan);
1558 
1559  READ_DONE();
1560 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:49
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readQuery()

static Query* _readQuery ( void  )
static

Definition at line 235 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().

236 {
238 
239  READ_ENUM_FIELD(commandType, CmdType);
240  READ_ENUM_FIELD(querySource, QuerySource);
241  local_node->queryId = UINT64CONST(0); /* not saved in output format */
242  READ_BOOL_FIELD(canSetTag);
243  READ_NODE_FIELD(utilityStmt);
244  READ_INT_FIELD(resultRelation);
245  READ_BOOL_FIELD(hasAggs);
246  READ_BOOL_FIELD(hasWindowFuncs);
247  READ_BOOL_FIELD(hasTargetSRFs);
248  READ_BOOL_FIELD(hasSubLinks);
249  READ_BOOL_FIELD(hasDistinctOn);
250  READ_BOOL_FIELD(hasRecursive);
251  READ_BOOL_FIELD(hasModifyingCTE);
252  READ_BOOL_FIELD(hasForUpdate);
253  READ_BOOL_FIELD(hasRowSecurity);
254  READ_NODE_FIELD(cteList);
255  READ_NODE_FIELD(rtable);
256  READ_NODE_FIELD(jointree);
257  READ_NODE_FIELD(targetList);
258  READ_ENUM_FIELD(override, OverridingKind);
259  READ_NODE_FIELD(onConflict);
260  READ_NODE_FIELD(returningList);
261  READ_NODE_FIELD(groupClause);
262  READ_NODE_FIELD(groupingSets);
263  READ_NODE_FIELD(havingQual);
264  READ_NODE_FIELD(windowClause);
265  READ_NODE_FIELD(distinctClause);
266  READ_NODE_FIELD(sortClause);
267  READ_NODE_FIELD(limitOffset);
268  READ_NODE_FIELD(limitCount);
269  READ_NODE_FIELD(rowMarks);
270  READ_NODE_FIELD(setOperations);
271  READ_NODE_FIELD(constraintDeps);
272  /* withCheckOptions intentionally omitted, see comment in parsenodes.h */
273  READ_LOCATION_FIELD(stmt_location);
274  READ_LOCATION_FIELD(stmt_len);
275 
276  READ_DONE();
277 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
QuerySource
Definition: parsenodes.h:38
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
CmdType
Definition: nodes.h:653
OverridingKind
Definition: parsenodes.h:30

◆ _readRangeTblEntry()

static RangeTblEntry* _readRangeTblEntry ( void  )
static

Definition at line 1339 of file readfuncs.c.

References elog, ERROR, functions, READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_CHAR_FIELD, READ_DONE, READ_ENUM_FIELD, READ_FLOAT_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_SUBQUERY, RTE_TABLEFUNC, and RTE_VALUES.

Referenced by parseNodeString().

1340 {
1342 
1343  /* put alias + eref first to make dump more legible */
1344  READ_NODE_FIELD(alias);
1345  READ_NODE_FIELD(eref);
1346  READ_ENUM_FIELD(rtekind, RTEKind);
1347 
1348  switch (local_node->rtekind)
1349  {
1350  case RTE_RELATION:
1351  READ_OID_FIELD(relid);
1352  READ_CHAR_FIELD(relkind);
1353  READ_NODE_FIELD(tablesample);
1354  break;
1355  case RTE_SUBQUERY:
1356  READ_NODE_FIELD(subquery);
1357  READ_BOOL_FIELD(security_barrier);
1358  break;
1359  case RTE_JOIN:
1360  READ_ENUM_FIELD(jointype, JoinType);
1361  READ_NODE_FIELD(joinaliasvars);
1362  break;
1363  case RTE_FUNCTION:
1365  READ_BOOL_FIELD(funcordinality);
1366  break;
1367  case RTE_TABLEFUNC:
1368  READ_NODE_FIELD(tablefunc);
1369  break;
1370  case RTE_VALUES:
1371  READ_NODE_FIELD(values_lists);
1372  READ_NODE_FIELD(coltypes);
1373  READ_NODE_FIELD(coltypmods);
1374  READ_NODE_FIELD(colcollations);
1375  break;
1376  case RTE_CTE:
1377  READ_STRING_FIELD(ctename);
1378  READ_UINT_FIELD(ctelevelsup);
1379  READ_BOOL_FIELD(self_reference);
1380  READ_NODE_FIELD(coltypes);
1381  READ_NODE_FIELD(coltypmods);
1382  READ_NODE_FIELD(colcollations);
1383  break;
1384  case RTE_NAMEDTUPLESTORE:
1385  READ_STRING_FIELD(enrname);
1386  READ_FLOAT_FIELD(enrtuples);
1387  READ_OID_FIELD(relid);
1388  READ_NODE_FIELD(coltypes);
1389  READ_NODE_FIELD(coltypmods);
1390  READ_NODE_FIELD(colcollations);
1391  break;
1392  default:
1393  elog(ERROR, "unrecognized RTE kind: %d",
1394  (int) local_node->rtekind);
1395  break;
1396  }
1397 
1398  READ_BOOL_FIELD(lateral);
1399  READ_BOOL_FIELD(inh);
1400  READ_BOOL_FIELD(inFromCl);
1401  READ_UINT_FIELD(requiredPerms);
1402  READ_OID_FIELD(checkAsUser);
1403  READ_BITMAPSET_FIELD(selectedCols);
1404  READ_BITMAPSET_FIELD(insertedCols);
1405  READ_BITMAPSET_FIELD(updatedCols);
1406  READ_NODE_FIELD(securityQuals);
1407 
1408  READ_DONE();
1409 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
JoinType
Definition: nodes.h:677
#define ERROR
Definition: elog.h:43
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:106
RTEKind
Definition: parsenodes.h:943
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:93
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
static const struct fns functions
Definition: regcomp.c:299
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define elog
Definition: elog.h:219

◆ _readRangeTblFunction()

static RangeTblFunction* _readRangeTblFunction ( void  )
static

Definition at line 1415 of file readfuncs.c.

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

Referenced by parseNodeString().

1416 {
1418 
1419  READ_NODE_FIELD(funcexpr);
1420  READ_INT_FIELD(funccolcount);
1421  READ_NODE_FIELD(funccolnames);
1422  READ_NODE_FIELD(funccoltypes);
1423  READ_NODE_FIELD(funccoltypmods);
1424  READ_NODE_FIELD(funccolcollations);
1425  READ_BITMAPSET_FIELD(funcparams);
1426 
1427  READ_DONE();
1428 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readRangeTblRef()

static RangeTblRef* _readRangeTblRef ( void  )
static

Definition at line 1268 of file readfuncs.c.

References READ_DONE, READ_INT_FIELD, and READ_LOCALS.

Referenced by parseNodeString().

1269 {
1271 
1272  READ_INT_FIELD(rtindex);
1273 
1274  READ_DONE();
1275 }
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readRangeVar()

static RangeVar* _readRangeVar ( void  )
static

Definition at line 458 of file readfuncs.c.

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

Referenced by parseNodeString().

459 {
461 
462  local_node->catalogname = NULL; /* not currently saved in output format */
463 
464  READ_STRING_FIELD(schemaname);
465  READ_STRING_FIELD(relname);
466  READ_BOOL_FIELD(inh);
467  READ_CHAR_FIELD(relpersistence);
468  READ_NODE_FIELD(alias);
469  READ_LOCATION_FIELD(location);
470 
471  READ_DONE();
472 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_CHAR_FIELD(fldname)
Definition: readfuncs.c:93
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readRecursiveUnion()

static RecursiveUnion* _readRecursiveUnion ( void  )
static

Definition at line 1639 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().

1640 {
1642 
1643  ReadCommonPlan(&local_node->plan);
1644 
1645  READ_INT_FIELD(wtParam);
1646  READ_INT_FIELD(numCols);
1647  READ_ATTRNUMBER_ARRAY(dupColIdx, local_node->numCols);
1648  READ_OID_ARRAY(dupOperators, local_node->numCols);
1649  READ_LONG_FIELD(numGroups);
1650 
1651  READ_DONE();
1652 }
#define READ_LONG_FIELD(fldname)
Definition: readfuncs.c:81
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readRelabelType()

static RelabelType* _readRelabelType ( void  )
static

Definition at line 867 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().

868 {
870 
872  READ_OID_FIELD(resulttype);
873  READ_INT_FIELD(resulttypmod);
874  READ_OID_FIELD(resultcollid);
875  READ_ENUM_FIELD(relabelformat, CoercionForm);
876  READ_LOCATION_FIELD(location);
877 
878  READ_DONE();
879 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
void * arg
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
CoercionForm
Definition: primnodes.h:436

◆ _readResult()

static Result* _readResult ( void  )
static

Definition at line 1538 of file readfuncs.c.

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

Referenced by parseNodeString().

1539 {
1541 
1542  ReadCommonPlan(&local_node->plan);
1543 
1544  READ_NODE_FIELD(resconstantqual);
1545 
1546  READ_DONE();
1547 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readRowCompareExpr()

static RowCompareExpr* _readRowCompareExpr ( void  )
static

Definition at line 1035 of file readfuncs.c.

References READ_DONE, READ_ENUM_FIELD, READ_LOCALS, and READ_NODE_FIELD.

Referenced by parseNodeString().

1036 {
1038 
1040  READ_NODE_FIELD(opnos);
1041  READ_NODE_FIELD(opfamilies);
1042  READ_NODE_FIELD(inputcollids);
1043  READ_NODE_FIELD(largs);
1044  READ_NODE_FIELD(rargs);
1045 
1046  READ_DONE();
1047 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
RowCompareType
Definition: primnodes.h:1024
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readRowExpr()

static RowExpr* _readRowExpr ( void  )
static

Definition at line 1018 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().

1019 {
1021 
1023  READ_OID_FIELD(row_typeid);
1024  READ_ENUM_FIELD(row_format, CoercionForm);
1025  READ_NODE_FIELD(colnames);
1026  READ_LOCATION_FIELD(location);
1027 
1028  READ_DONE();
1029 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
CoercionForm
Definition: primnodes.h:436

◆ _readRowMarkClause()

static RowMarkClause* _readRowMarkClause ( void  )
static

Definition at line 387 of file readfuncs.c.

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

Referenced by parseNodeString().

388 {
390 
391  READ_UINT_FIELD(rti);
393  READ_ENUM_FIELD(waitPolicy, LockWaitPolicy);
394  READ_BOOL_FIELD(pushedDown);
395 
396  READ_DONE();
397 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
LockClauseStrength
Definition: lockoptions.h:21
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
LockWaitPolicy
Definition: lockoptions.h:36

◆ _readSampleScan()

static SampleScan* _readSampleScan ( void  )
static

Definition at line 1729 of file readfuncs.c.

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

Referenced by parseNodeString().

1730 {
1732 
1733  ReadCommonScan(&local_node->scan);
1734 
1735  READ_NODE_FIELD(tablesample);
1736 
1737  READ_DONE();
1738 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readScalarArrayOpExpr()

static ScalarArrayOpExpr* _readScalarArrayOpExpr ( void  )
static

Definition at line 768 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().

769 {
771 
772  READ_OID_FIELD(opno);
773  READ_OID_FIELD(opfuncid);
774  READ_BOOL_FIELD(useOr);
775  READ_OID_FIELD(inputcollid);
777  READ_LOCATION_FIELD(location);
778 
779  READ_DONE();
780 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readScan()

static Scan* _readScan ( void  )
static

Definition at line 1703 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonScan().

Referenced by parseNodeString().

1704 {
1706 
1707  ReadCommonScan(local_node);
1708 
1709  READ_DONE();
1710 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:49
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readSeqScan()

static SeqScan* _readSeqScan ( void  )
static

Definition at line 1716 of file readfuncs.c.

References READ_DONE, READ_LOCALS_NO_FIELDS, and ReadCommonScan().

Referenced by parseNodeString().

1717 {
1719 
1720  ReadCommonScan(local_node);
1721 
1722  READ_DONE();
1723 }
#define READ_LOCALS_NO_FIELDS(nodeTypeName)
Definition: readfuncs.c:49
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readSetOp()

static SetOp* _readSetOp ( void  )
static

Definition at line 2236 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().

2237 {
2238  READ_LOCALS(SetOp);
2239 
2240  ReadCommonPlan(&local_node->plan);
2241 
2242  READ_ENUM_FIELD(cmd, SetOpCmd);
2243  READ_ENUM_FIELD(strategy, SetOpStrategy);
2244  READ_INT_FIELD(numCols);
2245  READ_ATTRNUMBER_ARRAY(dupColIdx, local_node->numCols);
2246  READ_OID_ARRAY(dupOperators, local_node->numCols);
2247  READ_INT_FIELD(flagColIdx);
2248  READ_INT_FIELD(firstFlag);
2249  READ_LONG_FIELD(numGroups);
2250 
2251  READ_DONE();
2252 }
#define READ_LONG_FIELD(fldname)
Definition: readfuncs.c:81
SetOpStrategy
Definition: nodes.h:791
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
SetOpCmd
Definition: nodes.h:783
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readSetOperationStmt()

static SetOperationStmt* _readSetOperationStmt ( void  )
static

Definition at line 425 of file readfuncs.c.

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

Referenced by parseNodeString().

426 {
428 
430  READ_BOOL_FIELD(all);
431  READ_NODE_FIELD(larg);
432  READ_NODE_FIELD(rarg);
433  READ_NODE_FIELD(colTypes);
434  READ_NODE_FIELD(colTypmods);
435  READ_NODE_FIELD(colCollations);
436  READ_NODE_FIELD(groupClauses);
437 
438  READ_DONE();
439 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
SetOperation
Definition: parsenodes.h:1518
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readSetToDefault()

static SetToDefault* _readSetToDefault ( void  )
static

Definition at line 1189 of file readfuncs.c.

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

Referenced by parseNodeString().

1190 {
1192 
1193  READ_OID_FIELD(typeId);
1194  READ_INT_FIELD(typeMod);
1195  READ_OID_FIELD(collation);
1196  READ_LOCATION_FIELD(location);
1197 
1198  READ_DONE();
1199 }
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readSort()

static Sort* _readSort ( void  )
static

Definition at line 2072 of file readfuncs.c.

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

Referenced by parseNodeString().

2073 {
2074  READ_LOCALS(Sort);
2075 
2076  ReadCommonPlan(&local_node->plan);
2077 
2078  READ_INT_FIELD(numCols);
2079  READ_ATTRNUMBER_ARRAY(sortColIdx, local_node->numCols);
2080  READ_OID_ARRAY(sortOperators, local_node->numCols);
2081  READ_OID_ARRAY(collations, local_node->numCols);
2082  READ_BOOL_ARRAY(nullsFirst, local_node->numCols);
2083 
2084  READ_DONE();
2085 }
#define READ_BOOL_ARRAY(fldname, len)
Definition: readfuncs.c:158
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readSortGroupClause()

static SortGroupClause* _readSortGroupClause ( void  )
static

Definition at line 329 of file readfuncs.c.

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

Referenced by parseNodeString().

330 {
332 
333  READ_UINT_FIELD(tleSortGroupRef);
334  READ_OID_FIELD(eqop);
335  READ_OID_FIELD(sortop);
336  READ_BOOL_FIELD(nulls_first);
337  READ_BOOL_FIELD(hashable);
338 
339  READ_DONE();
340 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readSQLValueFunction()

static SQLValueFunction* _readSQLValueFunction ( void  )
static

Definition at line 1087 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().

1088 {
1090 
1093  READ_INT_FIELD(typmod);
1094  READ_LOCATION_FIELD(location);
1095 
1096  READ_DONE();
1097 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
SQLValueFunctionOp
Definition: primnodes.h:1089
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readSubLink()

static SubLink* _readSubLink ( void  )
static

Definition at line 812 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().

813 {
815 
816  READ_ENUM_FIELD(subLinkType, SubLinkType);
817  READ_INT_FIELD(subLinkId);
818  READ_NODE_FIELD(testexpr);
819  READ_NODE_FIELD(operName);
820  READ_NODE_FIELD(subselect);
821  READ_LOCATION_FIELD(location);
822 
823  READ_DONE();
824 }
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
SubLinkType
Definition: primnodes.h:618
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readSubPlan()

static SubPlan* _readSubPlan ( void  )
static

Definition at line 2338 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().

2339 {
2341 
2342  READ_ENUM_FIELD(subLinkType, SubLinkType);
2343  READ_NODE_FIELD(testexpr);
2344  READ_NODE_FIELD(paramIds);
2345  READ_INT_FIELD(plan_id);
2346  READ_STRING_FIELD(plan_name);
2347  READ_OID_FIELD(firstColType);
2348  READ_INT_FIELD(firstColTypmod);
2349  READ_OID_FIELD(firstColCollation);
2350  READ_BOOL_FIELD(useHashTable);
2351  READ_BOOL_FIELD(unknownEqFalse);
2352  READ_BOOL_FIELD(parallel_safe);
2353  READ_NODE_FIELD(setParam);
2354  READ_NODE_FIELD(parParam);
2356  READ_FLOAT_FIELD(startup_cost);
2357  READ_FLOAT_FIELD(per_call_cost);
2358 
2359  READ_DONE();
2360 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:106
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
SubLinkType
Definition: primnodes.h:618
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readSubqueryScan()

static SubqueryScan* _readSubqueryScan ( void  )
static

Definition at line 1832 of file readfuncs.c.

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

Referenced by parseNodeString().

1833 {
1835 
1836  ReadCommonScan(&local_node->scan);
1837 
1838  READ_NODE_FIELD(subplan);
1839 
1840  READ_DONE();
1841 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readTableFunc()

static TableFunc* _readTableFunc ( void  )
static

Definition at line 478 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().

479 {
481 
482  READ_NODE_FIELD(ns_uris);
483  READ_NODE_FIELD(ns_names);
484  READ_NODE_FIELD(docexpr);
485  READ_NODE_FIELD(rowexpr);
486  READ_NODE_FIELD(colnames);
487  READ_NODE_FIELD(coltypes);
488  READ_NODE_FIELD(coltypmods);
489  READ_NODE_FIELD(colcollations);
490  READ_NODE_FIELD(colexprs);
491  READ_NODE_FIELD(coldefexprs);
492  READ_BITMAPSET_FIELD(notnulls);
493  READ_INT_FIELD(ordinalitycol);
494  READ_LOCATION_FIELD(location);
495 
496  READ_DONE();
497 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readTableFuncScan()

static TableFuncScan* _readTableFuncScan ( void  )
static

Definition at line 1878 of file readfuncs.c.

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

Referenced by parseNodeString().

1879 {
1881 
1882  ReadCommonScan(&local_node->scan);
1883 
1884  READ_NODE_FIELD(tablefunc);
1885 
1886  READ_DONE();
1887 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readTableSampleClause()

static TableSampleClause* _readTableSampleClause ( void  )
static

Definition at line 1434 of file readfuncs.c.

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

Referenced by parseNodeString().

1435 {
1437 
1438  READ_OID_FIELD(tsmhandler);
1440  READ_NODE_FIELD(repeatable);
1441 
1442  READ_DONE();
1443 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readTargetEntry()

static TargetEntry* _readTargetEntry ( void  )
static

Definition at line 1249 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().

1250 {
1252 
1253  READ_NODE_FIELD(expr);
1254  READ_INT_FIELD(resno);
1255  READ_STRING_FIELD(resname);
1256  READ_UINT_FIELD(ressortgroupref);
1257  READ_OID_FIELD(resorigtbl);
1258  READ_INT_FIELD(resorigcol);
1259  READ_BOOL_FIELD(resjunk);
1260 
1261  READ_DONE();
1262 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readTidScan()

static TidScan* _readTidScan ( void  )
static

Definition at line 1817 of file readfuncs.c.

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

Referenced by parseNodeString().

1818 {
1820 
1821  ReadCommonScan(&local_node->scan);
1822 
1823  READ_NODE_FIELD(tidquals);
1824 
1825  READ_DONE();
1826 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readUnique()

static Unique* _readUnique ( void  )
static

Definition at line 2160 of file readfuncs.c.

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

Referenced by parseNodeString().

2161 {
2163 
2164  ReadCommonPlan(&local_node->plan);
2165 
2166  READ_INT_FIELD(numCols);
2167  READ_ATTRNUMBER_ARRAY(uniqColIdx, local_node->numCols);
2168  READ_OID_ARRAY(uniqOperators, local_node->numCols);
2169 
2170  READ_DONE();
2171 }
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readValuesScan()

static ValuesScan* _readValuesScan ( void  )
static

Definition at line 1863 of file readfuncs.c.

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

Referenced by parseNodeString().

1864 {
1866 
1867  ReadCommonScan(&local_node->scan);
1868 
1869  READ_NODE_FIELD(values_lists);
1870 
1871  READ_DONE();
1872 }
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readVar()

static Var* _readVar ( void  )
static

Definition at line 519 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().

520 {
521  READ_LOCALS(Var);
522 
523  READ_UINT_FIELD(varno);
524  READ_INT_FIELD(varattno);
525  READ_OID_FIELD(vartype);
526  READ_INT_FIELD(vartypmod);
527  READ_OID_FIELD(varcollid);
528  READ_UINT_FIELD(varlevelsup);
529  READ_UINT_FIELD(varnoold);
530  READ_INT_FIELD(varoattno);
531  READ_LOCATION_FIELD(location);
532 
533  READ_DONE();
534 }
Definition: primnodes.h:163
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readWindowAgg()

static WindowAgg* _readWindowAgg ( void  )
static

Definition at line 2131 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().

2132 {
2134 
2135  ReadCommonPlan(&local_node->plan);
2136 
2137  READ_UINT_FIELD(winref);
2138  READ_INT_FIELD(partNumCols);
2139  READ_ATTRNUMBER_ARRAY(partColIdx, local_node->partNumCols);
2140  READ_OID_ARRAY(partOperators, local_node->partNumCols);
2141  READ_INT_FIELD(ordNumCols);
2142  READ_ATTRNUMBER_ARRAY(ordColIdx, local_node->ordNumCols);
2143  READ_OID_ARRAY(ordOperators, local_node->ordNumCols);
2144  READ_INT_FIELD(frameOptions);
2145  READ_NODE_FIELD(startOffset);
2146  READ_NODE_FIELD(endOffset);
2147  READ_OID_FIELD(startInRangeFunc);
2148  READ_OID_FIELD(endInRangeFunc);
2149  READ_OID_FIELD(inRangeColl);
2150  READ_BOOL_FIELD(inRangeAsc);
2151  READ_BOOL_FIELD(inRangeNullsFirst);
2152 
2153  READ_DONE();
2154 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_OID_ARRAY(fldname, len)
Definition: readfuncs.c:148
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63
#define READ_ATTRNUMBER_ARRAY(fldname, len)
Definition: readfuncs.c:143

◆ _readWindowClause()

static WindowClause* _readWindowClause ( void  )
static

Definition at line 361 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().

362 {
364 
366  READ_STRING_FIELD(refname);
367  READ_NODE_FIELD(partitionClause);
368  READ_NODE_FIELD(orderClause);
369  READ_INT_FIELD(frameOptions);
370  READ_NODE_FIELD(startOffset);
371  READ_NODE_FIELD(endOffset);
372  READ_OID_FIELD(startInRangeFunc);
373  READ_OID_FIELD(endInRangeFunc);
374  READ_OID_FIELD(inRangeColl);
375  READ_BOOL_FIELD(inRangeAsc);
376  READ_BOOL_FIELD(inRangeNullsFirst);
377  READ_UINT_FIELD(winref);
378  READ_BOOL_FIELD(copiedOrder);
379 
380  READ_DONE();
381 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
const char * name
Definition: encode.c:521
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readWindowFunc()

static WindowFunc* _readWindowFunc ( void  )
static

Definition at line 629 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().

630 {
632 
633  READ_OID_FIELD(winfnoid);
634  READ_OID_FIELD(wintype);
635  READ_OID_FIELD(wincollid);
636  READ_OID_FIELD(inputcollid);
638  READ_NODE_FIELD(aggfilter);
639  READ_UINT_FIELD(winref);
640  READ_BOOL_FIELD(winstar);
641  READ_BOOL_FIELD(winagg);
642  READ_LOCATION_FIELD(location);
643 
644  READ_DONE();
645 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readWithCheckOption()

static WithCheckOption* _readWithCheckOption ( void  )
static

Definition at line 312 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().

313 {
315 
316  READ_ENUM_FIELD(kind, WCOKind);
317  READ_STRING_FIELD(relname);
318  READ_STRING_FIELD(polname);
319  READ_NODE_FIELD(qual);
320  READ_BOOL_FIELD(cascaded);
321 
322  READ_DONE();
323 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
WCOKind
Definition: parsenodes.h:1125
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163

◆ _readWorkTableScan()

static WorkTableScan* _readWorkTableScan ( void  )
static

Definition at line 1909 of file readfuncs.c.

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

Referenced by parseNodeString().

1910 {
1912 
1913  ReadCommonScan(&local_node->scan);
1914 
1915  READ_INT_FIELD(wtParam);
1916 
1917  READ_DONE();
1918 }
static void ReadCommonScan(Scan *local_node)
Definition: readfuncs.c:1690
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ _readXmlExpr()

static XmlExpr* _readXmlExpr ( void  )
static

Definition at line 1103 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().

1104 {
1106 
1109  READ_NODE_FIELD(named_args);
1110  READ_NODE_FIELD(arg_names);
1114  READ_INT_FIELD(typmod);
1115  READ_LOCATION_FIELD(location);
1116 
1117  READ_DONE();
1118 }
XmlExprOp
Definition: primnodes.h:1128
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_LOCATION_FIELD(fldname)
Definition: readfuncs.c:124
#define READ_LOCALS(nodeTypeName)
Definition: readfuncs.c:58
XmlOptionType
Definition: primnodes.h:1140
#define READ_OID_FIELD(fldname)
Definition: readfuncs.c:87
const char * name
Definition: encode.c:521
int xmloption
Definition: xml.c:97
#define READ_STRING_FIELD(fldname)
Definition: readfuncs.c:118
#define READ_DONE()
Definition: readfuncs.c:163
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ parseNodeString()

Node* parseNodeString ( void  )

Definition at line 2449 of file readfuncs.c.

References _readAgg(), _readAggref(), _readAlias(), _readAlternativeSubPlan(), _readAppend(), _readArrayCoerceExpr(), _readArrayExpr(), _readArrayRef(), _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(), _readIndexOnlyScan(), _readIndexScan(), _readInferenceElem(), _readIntoClause(), _readJoin(), _readJoinExpr(), _readLimit(), _readLockRows(), _readMaterial(), _readMergeAppend(), _readMergeJoin(), _readMinMaxExpr(), _readModifyTable(), _readNamedArgExpr(), _readNestLoop(), _readNestLoopParam(), _readNextValueExpr(), _readNotifyStmt(), _readNullIfExpr(), _readNullTest(), _readOnConflictExpr(), _readOpExpr(), _readParam(), _readPartitionBoundSpec(), _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(), _readTableFunc(), _readTableFuncScan(), _readTableSampleClause(), _readTargetEntry(), _readTidScan(), _readUnique(), _readValuesScan(), _readVar(), _readWindowAgg(), _readWindowClause(), _readWindowFunc(), _readWithCheckOption(), _readWorkTableScan(), _readXmlExpr(), elog, ERROR, length(), MATCH, pg_strtok(), and READ_TEMP_LOCALS.

Referenced by nodeRead().

2450 {
2451  void *return_value;
2452 
2453  READ_TEMP_LOCALS();
2454 
2455  token = pg_strtok(&length);
2456 
2457 #define MATCH(tokname, namelen) \
2458  (length == namelen && memcmp(token, tokname, namelen) == 0)
2459 
2460  if (MATCH("QUERY", 5))
2461  return_value = _readQuery();
2462  else if (MATCH("WITHCHECKOPTION", 15))
2463  return_value = _readWithCheckOption();
2464  else if (MATCH("SORTGROUPCLAUSE", 15))
2465  return_value = _readSortGroupClause();
2466  else if (MATCH("GROUPINGSET", 11))
2467  return_value = _readGroupingSet();
2468  else if (MATCH("WINDOWCLAUSE", 12))
2469  return_value = _readWindowClause();
2470  else if (MATCH("ROWMARKCLAUSE", 13))
2471  return_value = _readRowMarkClause();
2472  else if (MATCH("COMMONTABLEEXPR", 15))
2473  return_value = _readCommonTableExpr();
2474  else if (MATCH("SETOPERATIONSTMT", 16))
2475  return_value = _readSetOperationStmt();
2476  else if (MATCH("ALIAS", 5))
2477  return_value = _readAlias();
2478  else if (MATCH("RANGEVAR", 8))
2479  return_value = _readRangeVar();
2480  else if (MATCH("INTOCLAUSE", 10))
2481  return_value = _readIntoClause();
2482  else if (MATCH("TABLEFUNC", 9))
2483  return_value = _readTableFunc();
2484  else if (MATCH("VAR", 3))
2485  return_value = _readVar();
2486  else if (MATCH("CONST", 5))
2487  return_value = _readConst();
2488  else if (MATCH("PARAM", 5))
2489  return_value = _readParam();
2490  else if (MATCH("AGGREF", 6))
2491  return_value = _readAggref();
2492  else if (MATCH("GROUPINGFUNC", 12))
2493  return_value = _readGroupingFunc();
2494  else if (MATCH("WINDOWFUNC", 10))
2495  return_value = _readWindowFunc();
2496  else if (MATCH("ARRAYREF", 8))
2497  return_value = _readArrayRef();
2498  else if (MATCH("FUNCEXPR", 8))
2499  return_value = _readFuncExpr();
2500  else if (MATCH("NAMEDARGEXPR", 12))
2501  return_value = _readNamedArgExpr();
2502  else if (MATCH("OPEXPR", 6))
2503  return_value = _readOpExpr();
2504  else if (MATCH("DISTINCTEXPR", 12))
2505  return_value = _readDistinctExpr();
2506  else if (MATCH("NULLIFEXPR", 10))
2507  return_value = _readNullIfExpr();
2508  else if (MATCH("SCALARARRAYOPEXPR", 17))
2509  return_value = _readScalarArrayOpExpr();
2510  else if (MATCH("BOOLEXPR", 8))
2511  return_value = _readBoolExpr();
2512  else if (MATCH("SUBLINK", 7))
2513  return_value = _readSubLink();
2514  else if (MATCH("FIELDSELECT", 11))
2515  return_value = _readFieldSelect();
2516  else if (MATCH("FIELDSTORE", 10))
2517  return_value = _readFieldStore();
2518  else if (MATCH("RELABELTYPE", 11))
2519  return_value = _readRelabelType();
2520  else if (MATCH("COERCEVIAIO", 11))
2521  return_value = _readCoerceViaIO();
2522  else if (MATCH("ARRAYCOERCEEXPR", 15))
2523  return_value = _readArrayCoerceExpr();
2524  else if (MATCH("CONVERTROWTYPEEXPR", 18))
2525  return_value = _readConvertRowtypeExpr();
2526  else if (MATCH("COLLATE", 7))
2527  return_value = _readCollateExpr();
2528  else if (MATCH("CASE", 4))
2529  return_value = _readCaseExpr();
2530  else if (MATCH("WHEN", 4))
2531  return_value = _readCaseWhen();
2532  else if (MATCH("CASETESTEXPR", 12))
2533  return_value = _readCaseTestExpr();
2534  else if (MATCH("ARRAY", 5))
2535  return_value = _readArrayExpr();
2536  else if (MATCH("ROW", 3))
2537  return_value = _readRowExpr();
2538  else if (MATCH("ROWCOMPARE", 10))
2539  return_value = _readRowCompareExpr();
2540  else if (MATCH("COALESCE", 8))
2541  return_value = _readCoalesceExpr();
2542  else if (MATCH("MINMAX", 6))
2543  return_value = _readMinMaxExpr();
2544  else if (MATCH("SQLVALUEFUNCTION", 16))
2545  return_value = _readSQLValueFunction();
2546  else if (MATCH("XMLEXPR", 7))
2547  return_value = _readXmlExpr();
2548  else if (MATCH("NULLTEST", 8))
2549  return_value = _readNullTest();
2550  else if (MATCH("BOOLEANTEST", 11))
2551  return_value = _readBooleanTest();
2552  else if (MATCH("COERCETODOMAIN", 14))
2553  return_value = _readCoerceToDomain();
2554  else if (MATCH("COERCETODOMAINVALUE", 19))
2555  return_value = _readCoerceToDomainValue();
2556  else if (MATCH("SETTODEFAULT", 12))
2557  return_value = _readSetToDefault();
2558  else if (MATCH("CURRENTOFEXPR", 13))
2559  return_value = _readCurrentOfExpr();
2560  else if (MATCH("NEXTVALUEEXPR", 13))
2561  return_value = _readNextValueExpr();
2562  else if (MATCH("INFERENCEELEM", 13))
2563  return_value = _readInferenceElem();
2564  else if (MATCH("TARGETENTRY", 11))
2565  return_value = _readTargetEntry();
2566  else if (MATCH("RANGETBLREF", 11))
2567  return_value = _readRangeTblRef();
2568  else if (MATCH("JOINEXPR", 8))
2569  return_value = _readJoinExpr();
2570  else if (MATCH("FROMEXPR", 8))
2571  return_value = _readFromExpr();
2572  else if (MATCH("ONCONFLICTEXPR", 14))
2573  return_value = _readOnConflictExpr();
2574  else if (MATCH("RTE", 3))
2575  return_value = _readRangeTblEntry();
2576  else if (MATCH("RANGETBLFUNCTION", 16))
2577  return_value = _readRangeTblFunction();
2578  else if (MATCH("TABLESAMPLECLAUSE", 17))
2579  return_value = _readTableSampleClause();
2580  else if (MATCH("NOTIFY", 6))
2581  return_value = _readNotifyStmt();
2582  else if (MATCH("DEFELEM", 7))
2583  return_value = _readDefElem();
2584  else if (MATCH("DECLARECURSOR", 13))
2585  return_value = _readDeclareCursorStmt();
2586  else if (MATCH("PLANNEDSTMT", 11))
2587  return_value = _readPlannedStmt();
2588  else if (MATCH("PLAN", 4))
2589  return_value = _readPlan();
2590  else if (MATCH("RESULT", 6))
2591  return_value = _readResult();
2592  else if (MATCH("PROJECTSET", 10))
2593  return_value = _readProjectSet();
2594  else if (MATCH("MODIFYTABLE", 11))
2595  return_value = _readModifyTable();
2596  else if (MATCH("APPEND", 6))
2597  return_value = _readAppend();
2598  else if (MATCH("MERGEAPPEND", 11))
2599  return_value = _readMergeAppend();
2600  else if (MATCH("RECURSIVEUNION", 14))
2601  return_value = _readRecursiveUnion();
2602  else if (MATCH("BITMAPAND", 9))
2603  return_value = _readBitmapAnd();
2604  else if (MATCH("BITMAPOR", 8))
2605  return_value = _readBitmapOr();
2606  else if (MATCH("SCAN", 4))
2607  return_value = _readScan();
2608  else if (MATCH("SEQSCAN", 7))
2609  return_value = _readSeqScan();
2610  else if (MATCH("SAMPLESCAN", 10))
2611  return_value = _readSampleScan();
2612  else if (MATCH("INDEXSCAN", 9))
2613  return_value = _readIndexScan();
2614  else if (MATCH("INDEXONLYSCAN", 13))
2615  return_value = _readIndexOnlyScan();
2616  else if (MATCH("BITMAPINDEXSCAN", 15))
2617  return_value = _readBitmapIndexScan();
2618  else if (MATCH("BITMAPHEAPSCAN", 14))
2619  return_value = _readBitmapHeapScan();
2620  else if (MATCH("TIDSCAN", 7))
2621  return_value = _readTidScan();
2622  else if (MATCH("SUBQUERYSCAN", 12))
2623  return_value = _readSubqueryScan();
2624  else if (MATCH("FUNCTIONSCAN", 12))
2625  return_value = _readFunctionScan();
2626  else if (MATCH("VALUESSCAN", 10))
2627  return_value = _readValuesScan();
2628  else if (MATCH("TABLEFUNCSCAN", 13))
2629  return_value = _readTableFuncScan();
2630  else if (MATCH("CTESCAN", 7))
2631  return_value = _readCteScan();
2632  else if (MATCH("WORKTABLESCAN", 13))
2633  return_value = _readWorkTableScan();
2634  else if (MATCH("FOREIGNSCAN", 11))
2635  return_value = _readForeignScan();
2636  else if (MATCH("CUSTOMSCAN", 10))
2637  return_value = _readCustomScan();
2638  else if (MATCH("JOIN", 4))
2639  return_value = _readJoin();
2640  else if (MATCH("NESTLOOP", 8))
2641  return_value = _readNestLoop();
2642  else if (MATCH("MERGEJOIN", 9))
2643  return_value = _readMergeJoin();
2644  else if (MATCH("HASHJOIN", 8))
2645  return_value = _readHashJoin();
2646  else if (MATCH("MATERIAL", 8))
2647  return_value = _readMaterial();
2648  else if (MATCH("SORT", 4))
2649  return_value = _readSort();
2650  else if (MATCH("GROUP", 5))
2651  return_value = _readGroup();
2652  else if (MATCH("AGG", 3))
2653  return_value = _readAgg();
2654  else if (MATCH("WINDOWAGG", 9))
2655  return_value = _readWindowAgg();
2656  else if (MATCH("UNIQUE", 6))
2657  return_value = _readUnique();
2658  else if (MATCH("GATHER", 6))
2659  return_value = _readGather();
2660  else if (MATCH("GATHERMERGE", 11))
2661  return_value = _readGatherMerge();
2662  else if (MATCH("HASH", 4))
2663  return_value = _readHash();
2664  else if (MATCH("SETOP", 5))
2665  return_value = _readSetOp();
2666  else if (MATCH("LOCKROWS", 8))
2667  return_value = _readLockRows();
2668  else if (MATCH("LIMIT", 5))
2669  return_value = _readLimit();
2670  else if (MATCH("NESTLOOPPARAM", 13))
2671  return_value = _readNestLoopParam();
2672  else if (MATCH("PLANROWMARK", 11))
2673  return_value = _readPlanRowMark();
2674  else if (MATCH("PLANINVALITEM", 13))
2675  return_value = _readPlanInvalItem();
2676  else if (MATCH("SUBPLAN", 7))
2677  return_value = _readSubPlan();
2678  else if (MATCH("ALTERNATIVESUBPLAN", 18))
2679  return_value = _readAlternativeSubPlan();
2680  else if (MATCH("EXTENSIBLENODE", 14))
2681  return_value = _readExtensibleNode();
2682  else if (MATCH("PARTITIONBOUNDSPEC", 18))
2683  return_value = _readPartitionBoundSpec();
2684  else if (MATCH("PARTITIONRANGEDATUM", 19))
2685  return_value = _readPartitionRangeDatum();
2686  else
2687  {
2688  elog(ERROR, "badly formatted node string \"%.32s\"...", token);
2689  return_value = NULL; /* keep compiler quiet */
2690  }
2691 
2692  return (Node *) return_value;
2693 }
static NullTest * _readNullTest(void)
Definition: readfuncs.c:1124
static JoinExpr * _readJoinExpr(void)
Definition: readfuncs.c:1281
static RangeVar * _readRangeVar(void)
Definition: readfuncs.c:458
static RangeTblEntry * _readRangeTblEntry(void)
Definition: readfuncs.c:1339
static DefElem * _readDefElem(void)
Definition: readfuncs.c:1449
static RowExpr * _readRowExpr(void)
Definition: readfuncs.c:1018
int length(const List *list)
Definition: list.c:1333
static MergeJoin * _readMergeJoin(void)
Definition: readfuncs.c:2019
static MinMaxExpr * _readMinMaxExpr(void)
Definition: readfuncs.c:1069
static RowMarkClause * _readRowMarkClause(void)
Definition: readfuncs.c:387
static FuncExpr * _readFuncExpr(void)
Definition: readfuncs.c:671
static Hash * _readHash(void)
Definition: readfuncs.c:2218
char * pg_strtok(int *length)
Definition: read.c:107
static Result * _readResult(void)
Definition: readfuncs.c:1538
static Query * _readQuery(void)
Definition: readfuncs.c:235
static RowCompareExpr * _readRowCompareExpr(void)
Definition: readfuncs.c:1035
static Param * _readParam(void)
Definition: readfuncs.c:565
static PlanInvalItem * _readPlanInvalItem(void)
Definition: readfuncs.c:2324
static WindowAgg * _readWindowAgg(void)
Definition: readfuncs.c:2131
static IndexScan * _readIndexScan(void)
Definition: readfuncs.c:1744
static NotifyStmt * _readNotifyStmt(void)
Definition: readfuncs.c:283
static Scan * _readScan(void)
Definition: readfuncs.c:1703
static NamedArgExpr * _readNamedArgExpr(void)
Definition: readfuncs.c:692
static LockRows * _readLockRows(void)
Definition: readfuncs.c:2258
static CurrentOfExpr * _readCurrentOfExpr(void)
Definition: readfuncs.c:1205
static CollateExpr * _readCollateExpr(void)
Definition: readfuncs.c:937
static SubqueryScan * _readSubqueryScan(void)
Definition: readfuncs.c:1832
static BitmapIndexScan * _readBitmapIndexScan(void)
Definition: readfuncs.c:1784
static CaseExpr * _readCaseExpr(void)
Definition: readfuncs.c:952
static FunctionScan * _readFunctionScan(void)
Definition: readfuncs.c:1847
static PartitionBoundSpec * _readPartitionBoundSpec(void)
Definition: readfuncs.c:2409
static Unique * _readUnique(void)
Definition: readfuncs.c:2160
static MergeAppend * _readMergeAppend(void)
Definition: readfuncs.c:1618
Definition: nodes.h:513
static WindowFunc * _readWindowFunc(void)
Definition: readfuncs.c:629
static WindowClause * _readWindowClause(void)
Definition: readfuncs.c:361
static OpExpr * _readOpExpr(void)
Definition: readfuncs.c:708
static IndexOnlyScan * _readIndexOnlyScan(void)
Definition: readfuncs.c:1765
static BitmapAnd * _readBitmapAnd(void)
Definition: readfuncs.c:1658
static FromExpr * _readFromExpr(void)
Definition: readfuncs.c:1301
static Aggref * _readAggref(void)
Definition: readfuncs.c:583
static NestLoop * _readNestLoop(void)
Definition: readfuncs.c:2004
static ModifyTable * _readModifyTable(void)
Definition: readfuncs.c:1566
static NextValueExpr * _readNextValueExpr(void)
Definition: readfuncs.c:1220
static DistinctExpr * _readDistinctExpr(void)
Definition: readfuncs.c:728
static ArrayCoerceExpr * _readArrayCoerceExpr(void)
Definition: readfuncs.c:902
static TargetEntry * _readTargetEntry(void)
Definition: readfuncs.c:1249
static Agg * _readAgg(void)
Definition: readfuncs.c:2108
static SeqScan * _readSeqScan(void)
Definition: readfuncs.c:1716
static AlternativeSubPlan * _readAlternativeSubPlan(void)
Definition: readfuncs.c:2366
static CteScan * _readCteScan(void)
Definition: readfuncs.c:1893
#define ERROR
Definition: elog.h:43
static GroupingFunc * _readGroupingFunc(void)
Definition: readfuncs.c:612
static CoerceToDomain * _readCoerceToDomain(void)
Definition: readfuncs.c:1155
static SubLink * _readSubLink(void)
Definition: readfuncs.c:812
static HashJoin * _readHashJoin(void)
Definition: readfuncs.c:2044
static ValuesScan * _readValuesScan(void)
Definition: readfuncs.c:1863
static ConvertRowtypeExpr * _readConvertRowtypeExpr(void)
Definition: readfuncs.c:921
static OnConflictExpr * _readOnConflictExpr(void)
Definition: readfuncs.c:1315
static NullIfExpr * _readNullIfExpr(void)
Definition: readfuncs.c:748
static Append * _readAppend(void)
Definition: readfuncs.c:1601
static ExtensibleNode * _readExtensibleNode(void)
Definition: readfuncs.c:2379
static PlanRowMark * _readPlanRowMark(void)
Definition: readfuncs.c:2304
static FieldSelect * _readFieldSelect(void)
Definition: readfuncs.c:834
static ArrayRef * _readArrayRef(void)
Definition: readfuncs.c:651
static CaseWhen * _readCaseWhen(void)
Definition: readfuncs.c:970
static SQLValueFunction * _readSQLValueFunction(void)
Definition: readfuncs.c:1087
#define MATCH(tokname, namelen)
static ForeignScan * _readForeignScan(void)
Definition: readfuncs.c:1924
static RelabelType * _readRelabelType(void)
Definition: readfuncs.c:867
static SetOp * _readSetOp(void)
Definition: readfuncs.c:2236
static SortGroupClause * _readSortGroupClause(void)
Definition: readfuncs.c:329
static Limit * _readLimit(void)
Definition: readfuncs.c:2274
static PartitionRangeDatum * _readPartitionRangeDatum(void)
Definition: readfuncs.c:2429
static GatherMerge * _readGatherMerge(void)
Definition: readfuncs.c:2196
static DeclareCursorStmt * _readDeclareCursorStmt(void)
Definition: readfuncs.c:297
static Gather * _readGather(void)
Definition: readfuncs.c:2177
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:53
static Var * _readVar(void)
Definition: readfuncs.c:519
static SampleScan * _readSampleScan(void)
Definition: readfuncs.c:1729
static SubPlan * _readSubPlan(void)
Definition: readfuncs.c:2338
static TidScan * _readTidScan(void)
Definition: readfuncs.c:1817
static CoerceToDomainValue * _readCoerceToDomainValue(void)
Definition: readfuncs.c:1173
static TableFuncScan * _readTableFuncScan(void)
Definition: readfuncs.c:1878
static IntoClause * _readIntoClause(void)
Definition: readfuncs.c:500
static Const * _readConst(void)
Definition: readfuncs.c:540
static SetOperationStmt * _readSetOperationStmt(void)
Definition: readfuncs.c:425
static PlannedStmt * _readPlannedStmt(void)
Definition: readfuncs.c:1466
static Material * _readMaterial(void)
Definition: readfuncs.c:2059
static CaseTestExpr * _readCaseTestExpr(void)
Definition: readfuncs.c:985
static Alias * _readAlias(void)
Definition: readfuncs.c:447
static BitmapOr * _readBitmapOr(void)
Definition: readfuncs.c:1673
static RangeTblRef * _readRangeTblRef(void)
Definition: readfuncs.c:1268
static RecursiveUnion * _readRecursiveUnion(void)
Definition: readfuncs.c:1639
static FieldStore * _readFieldStore(void)
Definition: readfuncs.c:851
static CoalesceExpr * _readCoalesceExpr(void)
Definition: readfuncs.c:1053
static SetToDefault * _readSetToDefault(void)
Definition: readfuncs.c:1189
static WithCheckOption * _readWithCheckOption(void)
Definition: readfuncs.c:312
static InferenceElem * _readInferenceElem(void)
Definition: readfuncs.c:1234
static ScalarArrayOpExpr * _readScalarArrayOpExpr(void)
Definition: readfuncs.c:768
static BoolExpr * _readBoolExpr(void)
Definition: readfuncs.c:786
static CustomScan * _readCustomScan(void)
Definition: readfuncs.c:1946
static CommonTableExpr * _readCommonTableExpr(void)
Definition: readfuncs.c:403
static ArrayExpr * _readArrayExpr(void)
Definition: readfuncs.c:1000
#define elog
Definition: elog.h:219
static RangeTblFunction * _readRangeTblFunction(void)
Definition: readfuncs.c:1415
static BooleanTest * _readBooleanTest(void)
Definition: readfuncs.c:1140
static Plan * _readPlan(void)
Definition: readfuncs.c:1525
static XmlExpr * _readXmlExpr(void)
Definition: readfuncs.c:1103
static TableFunc * _readTableFunc(void)
Definition: readfuncs.c:478
static TableSampleClause * _readTableSampleClause(void)
Definition: readfuncs.c:1434
static NestLoopParam * _readNestLoopParam(void)
Definition: readfuncs.c:2290
static ProjectSet * _readProjectSet(void)
Definition: readfuncs.c:1553
static BitmapHeapScan * _readBitmapHeapScan(void)
Definition: readfuncs.c:1802
static Join * _readJoin(void)
Definition: readfuncs.c:1991
static Sort * _readSort(void)
Definition: readfuncs.c:2072
static CoerceViaIO * _readCoerceViaIO(void)
Definition: readfuncs.c:885
static Group * _readGroup(void)
Definition: readfuncs.c:2091
static GroupingSet * _readGroupingSet(void)
Definition: readfuncs.c:346
static WorkTableScan * _readWorkTableScan(void)
Definition: readfuncs.c:1909

◆ readAttrNumberCols()

AttrNumber* readAttrNumberCols ( int  numCols)

Definition at line 2761 of file readfuncs.c.

References i, palloc(), and pg_strtok().

2762 {
2763  int tokenLength,
2764  i;
2765  char *token;
2766  AttrNumber *attr_vals;
2767 
2768  if (numCols <= 0)
2769  return NULL;
2770 
2771  attr_vals = (AttrNumber *) palloc(numCols * sizeof(AttrNumber));
2772  for (i = 0; i < numCols; i++)
2773  {
2774  token = pg_strtok(&tokenLength);
2775  attr_vals[i] = atoi(token);
2776  }
2777 
2778  return attr_vals;
2779 }
char * pg_strtok(int *length)
Definition: read.c:107
void * palloc(Size size)
Definition: mcxt.c:835
int i
int16 AttrNumber
Definition: attnum.h:21

◆ readBitmapset()

Bitmapset* readBitmapset ( void  )

Definition at line 226 of file readfuncs.c.

References _readBitmapset().

227 {
228  return _readBitmapset();
229 }
static Bitmapset * _readBitmapset(void)
Definition: readfuncs.c:185

◆ readBoolCols()

bool* readBoolCols ( int  numCols)

Definition at line 2833 of file readfuncs.c.

References i, palloc(), pg_strtok(), and strtobool.

2834 {
2835  int tokenLength,
2836  i;
2837  char *token;
2838  bool *bool_vals;
2839 
2840  if (numCols <= 0)
2841  return NULL;
2842 
2843  bool_vals = (bool *) palloc(numCols * sizeof(bool));
2844  for (i = 0; i < numCols; i++)
2845  {
2846  token = pg_strtok(&tokenLength);
2847  bool_vals[i] = strtobool(token);
2848  }
2849 
2850  return bool_vals;
2851 }
char * pg_strtok(int *length)
Definition: read.c:107
#define strtobool(x)
Definition: readfuncs.c:175
void * palloc(Size size)
Definition: mcxt.c:835
int i

◆ ReadCommonJoin()

static void ReadCommonJoin ( Join local_node)
static

Definition at line 1976 of file readfuncs.c.

References Join::plan, READ_BOOL_FIELD, READ_ENUM_FIELD, READ_NODE_FIELD, READ_TEMP_LOCALS, and ReadCommonPlan().

Referenced by _readHashJoin(), _readJoin(), _readMergeJoin(), and _readNestLoop().

1977 {
1978  READ_TEMP_LOCALS();
1979 
1980  ReadCommonPlan(&local_node->plan);
1981 
1982  READ_ENUM_FIELD(jointype, JoinType);
1983  READ_BOOL_FIELD(inner_unique);
1984  READ_NODE_FIELD(joinqual);
1985 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
JoinType
Definition: nodes.h:677
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_ENUM_FIELD(fldname, enumtype)
Definition: readfuncs.c:100
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:53
Plan plan
Definition: plannodes.h:668

◆ ReadCommonPlan()

static void ReadCommonPlan ( Plan local_node)
static

Definition at line 1501 of file readfuncs.c.

References READ_BITMAPSET_FIELD, READ_BOOL_FIELD, READ_FLOAT_FIELD, READ_INT_FIELD, READ_NODE_FIELD, and READ_TEMP_LOCALS.

Referenced by _readAgg(), _readAppend(), _readBitmapAnd(), _readBitmapOr(), _readGather(), _readGatherMerge(), _readGroup(), _readHash(), _readLimit(), _readLockRows(), _readMaterial(), _readMergeAppend(), _readModifyTable(), _readPlan(), _readProjectSet(), _readRecursiveUnion(), _readResult(), _readSetOp(), _readSort(), _readUnique(), _readWindowAgg(), ReadCommonJoin(), and ReadCommonScan().

1502 {
1503  READ_TEMP_LOCALS();
1504 
1505  READ_FLOAT_FIELD(startup_cost);
1506  READ_FLOAT_FIELD(total_cost);
1507  READ_FLOAT_FIELD(plan_rows);
1508  READ_INT_FIELD(plan_width);
1509  READ_BOOL_FIELD(parallel_aware);
1510  READ_BOOL_FIELD(parallel_safe);
1511  READ_INT_FIELD(plan_node_id);
1512  READ_NODE_FIELD(targetlist);
1513  READ_NODE_FIELD(qual);
1514  READ_NODE_FIELD(lefttree);
1515  READ_NODE_FIELD(righttree);
1516  READ_NODE_FIELD(initPlan);
1517  READ_BITMAPSET_FIELD(extParam);
1518  READ_BITMAPSET_FIELD(allParam);
1519 }
#define READ_BOOL_FIELD(fldname)
Definition: readfuncs.c:112
#define READ_FLOAT_FIELD(fldname)
Definition: readfuncs.c:106
#define READ_NODE_FIELD(fldname)
Definition: readfuncs.c:131
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:53
#define READ_BITMAPSET_FIELD(fldname)
Definition: readfuncs.c:137
#define READ_INT_FIELD(fldname)
Definition: readfuncs.c:63

◆ ReadCommonScan()

static void ReadCommonScan ( Scan local_node)
static

Definition at line 1690 of file readfuncs.c.

References Scan::plan, READ_TEMP_LOCALS, READ_UINT_FIELD, and ReadCommonPlan().

Referenced by _readBitmapHeapScan(), _readBitmapIndexScan(), _readCteScan(), _readCustomScan(), _readForeignScan(), _readFunctionScan(), _readIndexOnlyScan(), _readIndexScan(), _readSampleScan(), _readScan(), _readSeqScan(), _readSubqueryScan(), _readTableFuncScan(), _readTidScan(), _readValuesScan(), and _readWorkTableScan().

1691 {
1692  READ_TEMP_LOCALS();
1693 
1694  ReadCommonPlan(&local_node->plan);
1695 
1696  READ_UINT_FIELD(scanrelid);
1697 }
Plan plan
Definition: plannodes.h:330
static void ReadCommonPlan(Plan *local_node)
Definition: readfuncs.c:1501
#define READ_UINT_FIELD(fldname)
Definition: readfuncs.c:69
#define READ_TEMP_LOCALS()
Definition: readfuncs.c:53

◆ readDatum()

Datum readDatum ( bool  typbyval)

Definition at line 2704 of file readfuncs.c.

References atoui, elog, ERROR, i, length(), palloc(), pg_strtok(), and PointerGetDatum.

Referenced by _readConst().

2705 {
2706  Size length,
2707  i;
2708  int tokenLength;
2709  char *token;
2710  Datum res;
2711  char *s;
2712 
2713  /*
2714  * read the actual length of the value
2715  */
2716  token = pg_strtok(&tokenLength);
2717  length = atoui(token);
2718 
2719  token = pg_strtok(&tokenLength); /* read the '[' */
2720  if (token == NULL || token[0] != '[')
2721  elog(ERROR, "expected \"[\" to start datum, but got \"%s\"; length = %zu",
2722  token ? (const char *) token : "[NULL]", length);
2723 
2724  if (typbyval)
2725  {
2726  if (length > (Size) sizeof(Datum))
2727  elog(ERROR, "byval datum but length = %zu", length);
2728  res = (Datum) 0;
2729  s = (char *) (&res);
2730  for (i = 0; i < (Size) sizeof(Datum); i++)
2731  {
2732  token = pg_strtok(&tokenLength);
2733  s[i] = (char) atoi(token);
2734  }
2735  }
2736  else if (length <= 0)
2737  res = (Datum) NULL;
2738  else
2739  {
2740  s = (char *) palloc(length);
2741  for (i = 0; i < length; i++)
2742  {
2743  token = pg_strtok(&tokenLength);
2744  s[i] = (char) atoi(token);
2745  }
2746  res =