PostgreSQL Source Code  git master
outfuncs.c File Reference
#include "postgres.h"
#include <ctype.h>
#include "lib/stringinfo.h"
#include "miscadmin.h"
#include "nodes/extensible.h"
#include "nodes/pathnodes.h"
#include "nodes/plannodes.h"
#include "utils/datum.h"
#include "utils/rel.h"
Include dependency graph for outfuncs.c:

Go to the source code of this file.

Macros

#define WRITE_NODE_TYPE(nodelabel)   appendStringInfoString(str, nodelabel)
 
#define WRITE_INT_FIELD(fldname)   appendStringInfo(str, " :" CppAsString(fldname) " %d", node->fldname)
 
#define WRITE_UINT_FIELD(fldname)   appendStringInfo(str, " :" CppAsString(fldname) " %u", node->fldname)
 
#define WRITE_UINT64_FIELD(fldname)
 
#define WRITE_OID_FIELD(fldname)   appendStringInfo(str, " :" CppAsString(fldname) " %u", node->fldname)
 
#define WRITE_LONG_FIELD(fldname)   appendStringInfo(str, " :" CppAsString(fldname) " %ld", node->fldname)
 
#define WRITE_CHAR_FIELD(fldname)
 
#define WRITE_ENUM_FIELD(fldname, enumtype)
 
#define WRITE_FLOAT_FIELD(fldname, format)   appendStringInfo(str, " :" CppAsString(fldname) " " format, node->fldname)
 
#define WRITE_BOOL_FIELD(fldname)
 
#define WRITE_STRING_FIELD(fldname)
 
#define WRITE_LOCATION_FIELD(fldname)   appendStringInfo(str, " :" CppAsString(fldname) " %d", node->fldname)
 
#define WRITE_NODE_FIELD(fldname)
 
#define WRITE_BITMAPSET_FIELD(fldname)
 
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
 
#define WRITE_OID_ARRAY(fldname, len)
 
#define WRITE_INT_ARRAY(fldname, len)
 
#define WRITE_BOOL_ARRAY(fldname, len)
 
#define booltostr(x)   ((x) ? "true" : "false")
 

Functions

static void outChar (StringInfo str, char c)
 
void outToken (StringInfo str, const char *s)
 
static void _outList (StringInfo str, const List *node)
 
void outBitmapset (StringInfo str, const Bitmapset *bms)
 
void outDatum (StringInfo str, Datum value, int typlen, bool typbyval)
 
static void _outPlannedStmt (StringInfo str, const PlannedStmt *node)
 
static void _outPlanInfo (StringInfo str, const Plan *node)
 
static void _outScanInfo (StringInfo str, const Scan *node)
 
static void _outJoinPlanInfo (StringInfo str, const Join *node)
 
static void _outPlan (StringInfo str, const Plan *node)
 
static void _outResult (StringInfo str, const Result *node)
 
static void _outProjectSet (StringInfo str, const ProjectSet *node)
 
static void _outModifyTable (StringInfo str, const ModifyTable *node)
 
static void _outAppend (StringInfo str, const Append *node)
 
static void _outMergeAppend (StringInfo str, const MergeAppend *node)
 
static void _outRecursiveUnion (StringInfo str, const RecursiveUnion *node)
 
static void _outBitmapAnd (StringInfo str, const BitmapAnd *node)
 
static void _outBitmapOr (StringInfo str, const BitmapOr *node)
 
static void _outGather (StringInfo str, const Gather *node)
 
static void _outGatherMerge (StringInfo str, const GatherMerge *node)
 
static void _outScan (StringInfo str, const Scan *node)
 
static void _outSeqScan (StringInfo str, const SeqScan *node)
 
static void _outSampleScan (StringInfo str, const SampleScan *node)
 
static void _outIndexScan (StringInfo str, const IndexScan *node)
 
static void _outIndexOnlyScan (StringInfo str, const IndexOnlyScan *node)
 
static void _outBitmapIndexScan (StringInfo str, const BitmapIndexScan *node)
 
static void _outBitmapHeapScan (StringInfo str, const BitmapHeapScan *node)
 
static void _outTidScan (StringInfo str, const TidScan *node)
 
static void _outSubqueryScan (StringInfo str, const SubqueryScan *node)
 
static void _outFunctionScan (StringInfo str, const FunctionScan *node)
 
static void _outTableFuncScan (StringInfo str, const TableFuncScan *node)
 
static void _outValuesScan (StringInfo str, const ValuesScan *node)
 
static void _outCteScan (StringInfo str, const CteScan *node)
 
static void _outNamedTuplestoreScan (StringInfo str, const NamedTuplestoreScan *node)
 
static void _outWorkTableScan (StringInfo str, const WorkTableScan *node)
 
static void _outForeignScan (StringInfo str, const ForeignScan *node)
 
static void _outCustomScan (StringInfo str, const CustomScan *node)
 
static void _outJoin (StringInfo str, const Join *node)
 
static void _outNestLoop (StringInfo str, const NestLoop *node)
 
static void _outMergeJoin (StringInfo str, const MergeJoin *node)
 
static void _outHashJoin (StringInfo str, const HashJoin *node)
 
static void _outAgg (StringInfo str, const Agg *node)
 
static void _outWindowAgg (StringInfo str, const WindowAgg *node)
 
static void _outGroup (StringInfo str, const Group *node)
 
static void _outMaterial (StringInfo str, const Material *node)
 
static void _outSortInfo (StringInfo str, const Sort *node)
 
static void _outSort (StringInfo str, const Sort *node)
 
static void _outIncrementalSort (StringInfo str, const IncrementalSort *node)
 
static void _outUnique (StringInfo str, const Unique *node)
 
static void _outHash (StringInfo str, const Hash *node)
 
static void _outSetOp (StringInfo str, const SetOp *node)
 
static void _outLockRows (StringInfo str, const LockRows *node)
 
static void _outLimit (StringInfo str, const Limit *node)
 
static void _outNestLoopParam (StringInfo str, const NestLoopParam *node)
 
static void _outPlanRowMark (StringInfo str, const PlanRowMark *node)
 
static void _outPartitionPruneInfo (StringInfo str, const PartitionPruneInfo *node)
 
static void _outPartitionedRelPruneInfo (StringInfo str, const PartitionedRelPruneInfo *node)
 
static void _outPartitionPruneStepOp (StringInfo str, const PartitionPruneStepOp *node)
 
static void _outPartitionPruneStepCombine (StringInfo str, const PartitionPruneStepCombine *node)
 
static void _outPlanInvalItem (StringInfo str, const PlanInvalItem *node)
 
static void _outAlias (StringInfo str, const Alias *node)
 
static void _outRangeVar (StringInfo str, const RangeVar *node)
 
static void _outTableFunc (StringInfo str, const TableFunc *node)
 
static void _outIntoClause (StringInfo str, const IntoClause *node)
 
static void _outVar (StringInfo str, const Var *node)
 
static void _outConst (StringInfo str, const Const *node)
 
static void _outParam (StringInfo str, const Param *node)
 
static void _outAggref (StringInfo str, const Aggref *node)
 
static void _outGroupingFunc (StringInfo str, const GroupingFunc *node)
 
static void _outWindowFunc (StringInfo str, const WindowFunc *node)
 
static void _outSubscriptingRef (StringInfo str, const SubscriptingRef *node)
 
static void _outFuncExpr (StringInfo str, const FuncExpr *node)
 
static void _outNamedArgExpr (StringInfo str, const NamedArgExpr *node)
 
static void _outOpExpr (StringInfo str, const OpExpr *node)
 
static void _outDistinctExpr (StringInfo str, const DistinctExpr *node)
 
static void _outNullIfExpr (StringInfo str, const NullIfExpr *node)
 
static void _outScalarArrayOpExpr (StringInfo str, const ScalarArrayOpExpr *node)
 
static void _outBoolExpr (StringInfo str, const BoolExpr *node)
 
static void _outSubLink (StringInfo str, const SubLink *node)
 
static void _outSubPlan (StringInfo str, const SubPlan *node)
 
static void _outAlternativeSubPlan (StringInfo str, const AlternativeSubPlan *node)
 
static void _outFieldSelect (StringInfo str, const FieldSelect *node)
 
static void _outFieldStore (StringInfo str, const FieldStore *node)
 
static void _outRelabelType (StringInfo str, const RelabelType *node)
 
static void _outCoerceViaIO (StringInfo str, const CoerceViaIO *node)
 
static void _outArrayCoerceExpr (StringInfo str, const ArrayCoerceExpr *node)
 
static void _outConvertRowtypeExpr (StringInfo str, const ConvertRowtypeExpr *node)
 
static void _outCollateExpr (StringInfo str, const CollateExpr *node)
 
static void _outCaseExpr (StringInfo str, const CaseExpr *node)
 
static void _outCaseWhen (StringInfo str, const CaseWhen *node)
 
static void _outCaseTestExpr (StringInfo str, const CaseTestExpr *node)
 
static void _outArrayExpr (StringInfo str, const ArrayExpr *node)
 
static void _outRowExpr (StringInfo str, const RowExpr *node)
 
static void _outRowCompareExpr (StringInfo str, const RowCompareExpr *node)
 
static void _outCoalesceExpr (StringInfo str, const CoalesceExpr *node)
 
static void _outMinMaxExpr (StringInfo str, const MinMaxExpr *node)
 
static void _outSQLValueFunction (StringInfo str, const SQLValueFunction *node)
 
static void _outXmlExpr (StringInfo str, const XmlExpr *node)
 
static void _outNullTest (StringInfo str, const NullTest *node)
 
static void _outBooleanTest (StringInfo str, const BooleanTest *node)
 
static void _outCoerceToDomain (StringInfo str, const CoerceToDomain *node)
 
static void _outCoerceToDomainValue (StringInfo str, const CoerceToDomainValue *node)
 
static void _outSetToDefault (StringInfo str, const SetToDefault *node)
 
static void _outCurrentOfExpr (StringInfo str, const CurrentOfExpr *node)
 
static void _outNextValueExpr (StringInfo str, const NextValueExpr *node)
 
static void _outInferenceElem (StringInfo str, const InferenceElem *node)
 
static void _outTargetEntry (StringInfo str, const TargetEntry *node)
 
static void _outRangeTblRef (StringInfo str, const RangeTblRef *node)
 
static void _outJoinExpr (StringInfo str, const JoinExpr *node)
 
static void _outFromExpr (StringInfo str, const FromExpr *node)
 
static void _outOnConflictExpr (StringInfo str, const OnConflictExpr *node)
 
static void _outPathInfo (StringInfo str, const Path *node)
 
static void _outJoinPathInfo (StringInfo str, const JoinPath *node)
 
static void _outPath (StringInfo str, const Path *node)
 
static void _outIndexPath (StringInfo str, const IndexPath *node)
 
static void _outBitmapHeapPath (StringInfo str, const BitmapHeapPath *node)
 
static void _outBitmapAndPath (StringInfo str, const BitmapAndPath *node)
 
static void _outBitmapOrPath (StringInfo str, const BitmapOrPath *node)
 
static void _outTidPath (StringInfo str, const TidPath *node)
 
static void _outSubqueryScanPath (StringInfo str, const SubqueryScanPath *node)
 
static void _outForeignPath (StringInfo str, const ForeignPath *node)
 
static void _outCustomPath (StringInfo str, const CustomPath *node)
 
static void _outAppendPath (StringInfo str, const AppendPath *node)
 
static void _outMergeAppendPath (StringInfo str, const MergeAppendPath *node)
 
static void _outGroupResultPath (StringInfo str, const GroupResultPath *node)
 
static void _outMaterialPath (StringInfo str, const MaterialPath *node)
 
static void _outUniquePath (StringInfo str, const UniquePath *node)
 
static void _outGatherPath (StringInfo str, const GatherPath *node)
 
static void _outProjectionPath (StringInfo str, const ProjectionPath *node)
 
static void _outProjectSetPath (StringInfo str, const ProjectSetPath *node)
 
static void _outSortPathInfo (StringInfo str, const SortPath *node)
 
static void _outSortPath (StringInfo str, const SortPath *node)
 
static void _outIncrementalSortPath (StringInfo str, const IncrementalSortPath *node)
 
static void _outGroupPath (StringInfo str, const GroupPath *node)
 
static void _outUpperUniquePath (StringInfo str, const UpperUniquePath *node)
 
static void _outAggPath (StringInfo str, const AggPath *node)
 
static void _outRollupData (StringInfo str, const RollupData *node)
 
static void _outGroupingSetData (StringInfo str, const GroupingSetData *node)
 
static void _outGroupingSetsPath (StringInfo str, const GroupingSetsPath *node)
 
static void _outMinMaxAggPath (StringInfo str, const MinMaxAggPath *node)
 
static void _outWindowAggPath (StringInfo str, const WindowAggPath *node)
 
static void _outSetOpPath (StringInfo str, const SetOpPath *node)
 
static void _outRecursiveUnionPath (StringInfo str, const RecursiveUnionPath *node)
 
static void _outLockRowsPath (StringInfo str, const LockRowsPath *node)
 
static void _outModifyTablePath (StringInfo str, const ModifyTablePath *node)
 
static void _outLimitPath (StringInfo str, const LimitPath *node)
 
static void _outGatherMergePath (StringInfo str, const GatherMergePath *node)
 
static void _outNestPath (StringInfo str, const NestPath *node)
 
static void _outMergePath (StringInfo str, const MergePath *node)
 
static void _outHashPath (StringInfo str, const HashPath *node)
 
static void _outPlannerGlobal (StringInfo str, const PlannerGlobal *node)
 
static void _outPlannerInfo (StringInfo str, const PlannerInfo *node)
 
static void _outRelOptInfo (StringInfo str, const RelOptInfo *node)
 
static void _outIndexOptInfo (StringInfo str, const IndexOptInfo *node)
 
static void _outForeignKeyOptInfo (StringInfo str, const ForeignKeyOptInfo *node)
 
static void _outStatisticExtInfo (StringInfo str, const StatisticExtInfo *node)
 
static void _outEquivalenceClass (StringInfo str, const EquivalenceClass *node)
 
static void _outEquivalenceMember (StringInfo str, const EquivalenceMember *node)
 
static void _outPathKey (StringInfo str, const PathKey *node)
 
static void _outPathTarget (StringInfo str, const PathTarget *node)
 
static void _outParamPathInfo (StringInfo str, const ParamPathInfo *node)
 
static void _outRestrictInfo (StringInfo str, const RestrictInfo *node)
 
static void _outIndexClause (StringInfo str, const IndexClause *node)
 
static void _outPlaceHolderVar (StringInfo str, const PlaceHolderVar *node)
 
static void _outSpecialJoinInfo (StringInfo str, const SpecialJoinInfo *node)
 
static void _outAppendRelInfo (StringInfo str, const AppendRelInfo *node)
 
static void _outPlaceHolderInfo (StringInfo str, const PlaceHolderInfo *node)
 
static void _outMinMaxAggInfo (StringInfo str, const MinMaxAggInfo *node)
 
static void _outPlannerParamItem (StringInfo str, const PlannerParamItem *node)
 
static void _outExtensibleNode (StringInfo str, const ExtensibleNode *node)
 
static void _outCreateStmtInfo (StringInfo str, const CreateStmt *node)
 
static void _outCreateStmt (StringInfo str, const CreateStmt *node)
 
static void _outCreateForeignTableStmt (StringInfo str, const CreateForeignTableStmt *node)
 
static void _outImportForeignSchemaStmt (StringInfo str, const ImportForeignSchemaStmt *node)
 
static void _outIndexStmt (StringInfo str, const IndexStmt *node)
 
static void _outCreateStatsStmt (StringInfo str, const CreateStatsStmt *node)
 
static void _outAlterStatsStmt (StringInfo str, const AlterStatsStmt *node)
 
static void _outNotifyStmt (StringInfo str, const NotifyStmt *node)
 
static void _outDeclareCursorStmt (StringInfo str, const DeclareCursorStmt *node)
 
static void _outSelectStmt (StringInfo str, const SelectStmt *node)
 
static void _outPLAssignStmt (StringInfo str, const PLAssignStmt *node)
 
static void _outFuncCall (StringInfo str, const FuncCall *node)
 
static void _outDefElem (StringInfo str, const DefElem *node)
 
static void _outTableLikeClause (StringInfo str, const TableLikeClause *node)
 
static void _outLockingClause (StringInfo str, const LockingClause *node)
 
static void _outXmlSerialize (StringInfo str, const XmlSerialize *node)
 
static void _outTriggerTransition (StringInfo str, const TriggerTransition *node)
 
static void _outColumnDef (StringInfo str, const ColumnDef *node)
 
static void _outTypeName (StringInfo str, const TypeName *node)
 
static void _outTypeCast (StringInfo str, const TypeCast *node)
 
static void _outCollateClause (StringInfo str, const CollateClause *node)
 
static void _outIndexElem (StringInfo str, const IndexElem *node)
 
static void _outQuery (StringInfo str, const Query *node)
 
static void _outWithCheckOption (StringInfo str, const WithCheckOption *node)
 
static void _outSortGroupClause (StringInfo str, const SortGroupClause *node)
 
static void _outGroupingSet (StringInfo str, const GroupingSet *node)
 
static void _outWindowClause (StringInfo str, const WindowClause *node)
 
static void _outRowMarkClause (StringInfo str, const RowMarkClause *node)
 
static void _outWithClause (StringInfo str, const WithClause *node)
 
static void _outCommonTableExpr (StringInfo str, const CommonTableExpr *node)
 
static void _outSetOperationStmt (StringInfo str, const SetOperationStmt *node)
 
static void _outRangeTblEntry (StringInfo str, const RangeTblEntry *node)
 
static void _outRangeTblFunction (StringInfo str, const RangeTblFunction *node)
 
static void _outTableSampleClause (StringInfo str, const TableSampleClause *node)
 
static void _outAExpr (StringInfo str, const A_Expr *node)
 
static void _outValue (StringInfo str, const Value *value)
 
static void _outColumnRef (StringInfo str, const ColumnRef *node)
 
static void _outParamRef (StringInfo str, const ParamRef *node)
 
static void _outRawStmt (StringInfo str, const RawStmt *node)
 
static void _outAConst (StringInfo str, const A_Const *node)
 
static void _outA_Star (StringInfo str, const A_Star *node)
 
static void _outA_Indices (StringInfo str, const A_Indices *node)
 
static void _outA_Indirection (StringInfo str, const A_Indirection *node)
 
static void _outA_ArrayExpr (StringInfo str, const A_ArrayExpr *node)
 
static void _outResTarget (StringInfo str, const ResTarget *node)
 
static void _outMultiAssignRef (StringInfo str, const MultiAssignRef *node)
 
static void _outSortBy (StringInfo str, const SortBy *node)
 
static void _outWindowDef (StringInfo str, const WindowDef *node)
 
static void _outRangeSubselect (StringInfo str, const RangeSubselect *node)
 
static void _outRangeFunction (StringInfo str, const RangeFunction *node)
 
static void _outRangeTableSample (StringInfo str, const RangeTableSample *node)
 
static void _outRangeTableFunc (StringInfo str, const RangeTableFunc *node)
 
static void _outRangeTableFuncCol (StringInfo str, const RangeTableFuncCol *node)
 
static void _outConstraint (StringInfo str, const Constraint *node)
 
static void _outForeignKeyCacheInfo (StringInfo str, const ForeignKeyCacheInfo *node)
 
static void _outPartitionElem (StringInfo str, const PartitionElem *node)
 
static void _outPartitionSpec (StringInfo str, const PartitionSpec *node)
 
static void _outPartitionBoundSpec (StringInfo str, const PartitionBoundSpec *node)
 
static void _outPartitionRangeDatum (StringInfo str, const PartitionRangeDatum *node)
 
void outNode (StringInfo str, const void *obj)
 
char * nodeToString (const void *obj)
 
char * bmsToString (const Bitmapset *bms)
 

Macro Definition Documentation

◆ booltostr

#define booltostr (   x)    ((x) ? "true" : "false")

Definition at line 142 of file outfuncs.c.

◆ WRITE_ATTRNUMBER_ARRAY

#define WRITE_ATTRNUMBER_ARRAY (   fldname,
  len 
)
Value:
do { \
appendStringInfoString(str, " :" CppAsString(fldname) " "); \
for (int i = 0; i < len; i++) \
appendStringInfo(str, " %d", node->fldname[i]); \
} while(0)
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276
int i

Definition at line 113 of file outfuncs.c.

Referenced by _outAgg(), _outAppendRelInfo(), _outForeignKeyCacheInfo(), _outForeignKeyOptInfo(), _outGatherMerge(), _outGroup(), _outLimit(), _outMergeAppend(), _outRecursiveUnion(), _outSetOp(), _outSortInfo(), _outUnique(), and _outWindowAgg().

◆ WRITE_BITMAPSET_FIELD

◆ WRITE_BOOL_ARRAY

#define WRITE_BOOL_ARRAY (   fldname,
  len 
)
Value:
do { \
appendStringInfoString(str, " :" CppAsString(fldname) " "); \
for (int i = 0; i < len; i++) \
appendStringInfo(str, " %s", booltostr(node->fldname[i])); \
} while(0)
#define booltostr(x)
Definition: outfuncs.c:142
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276
int i

Definition at line 134 of file outfuncs.c.

Referenced by _outGatherMerge(), _outMergeAppend(), _outMergeJoin(), and _outSortInfo().

◆ WRITE_BOOL_FIELD

#define WRITE_BOOL_FIELD (   fldname)
Value:
appendStringInfo(str, " :" CppAsString(fldname) " %s", \
booltostr(node->fldname))
#define booltostr(x)
Definition: outfuncs.c:142
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276

Definition at line 90 of file outfuncs.c.

Referenced by _outA_Indices(), _outAggref(), _outAlterStatsStmt(), _outArrayExpr(), _outBitmapIndexScan(), _outBitmapOr(), _outColumnDef(), _outCommonTableExpr(), _outConst(), _outConstraint(), _outCreateStatsStmt(), _outCreateStmtInfo(), _outDistinctExpr(), _outEquivalenceClass(), _outEquivalenceMember(), _outForeignScan(), _outFuncCall(), _outFuncExpr(), _outFunctionScan(), _outGather(), _outGatherPath(), _outHash(), _outIndexClause(), _outIndexOptInfo(), _outIndexStmt(), _outIntoClause(), _outJoinExpr(), _outJoinPathInfo(), _outJoinPlanInfo(), _outMergeJoin(), _outMergePath(), _outModifyTable(), _outModifyTablePath(), _outNullIfExpr(), _outNullTest(), _outOpExpr(), _outPartitionBoundSpec(), _outPathInfo(), _outPathKey(), _outPlanInfo(), _outPlannedStmt(), _outPlannerGlobal(), _outPlannerInfo(), _outPlanRowMark(), _outProjectionPath(), _outQuery(), _outRangeFunction(), _outRangeSubselect(), _outRangeTableFunc(), _outRangeTableFuncCol(), _outRangeTblEntry(), _outRangeVar(), _outRelOptInfo(), _outRestrictInfo(), _outRollupData(), _outRowMarkClause(), _outScalarArrayOpExpr(), _outSelectStmt(), _outSetOperationStmt(), _outSortGroupClause(), _outSpecialJoinInfo(), _outSubPlan(), _outTargetEntry(), _outTriggerTransition(), _outTypeName(), _outWindowAgg(), _outWindowClause(), _outWindowFunc(), _outWithCheckOption(), and _outWithClause().

◆ WRITE_CHAR_FIELD

#define WRITE_CHAR_FIELD (   fldname)
Value:
(appendStringInfo(str, " :" CppAsString(fldname) " "), \
outChar(str, node->fldname))
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276

Definition at line 76 of file outfuncs.c.

Referenced by _outAggref(), _outColumnDef(), _outConstraint(), _outPartitionBoundSpec(), _outPlannerGlobal(), _outRangeTblEntry(), _outRangeVar(), and _outStatisticExtInfo().

◆ WRITE_ENUM_FIELD

#define WRITE_ENUM_FIELD (   fldname,
  enumtype 
)
Value:
appendStringInfo(str, " :" CppAsString(fldname) " %d", \
(int) node->fldname)
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276

Definition at line 81 of file outfuncs.c.

Referenced by _outAgg(), _outAggPath(), _outAggref(), _outArrayCoerceExpr(), _outBooleanTest(), _outCoerceToDomain(), _outCoerceViaIO(), _outCommonTableExpr(), _outConvertRowtypeExpr(), _outCreateStmtInfo(), _outDefElem(), _outForeignScan(), _outFuncCall(), _outFuncExpr(), _outGroupingSet(), _outGroupingSetsPath(), _outImportForeignSchemaStmt(), _outIndexElem(), _outIndexOnlyScan(), _outIndexPath(), _outIndexScan(), _outIntoClause(), _outJoinExpr(), _outJoinPathInfo(), _outJoinPlanInfo(), _outLimit(), _outLimitPath(), _outLockingClause(), _outMinMaxExpr(), _outModifyTable(), _outModifyTablePath(), _outNullTest(), _outOnConflictExpr(), _outParam(), _outPartitionPruneStepCombine(), _outPartitionRangeDatum(), _outPathInfo(), _outPlannedStmt(), _outPlannerInfo(), _outPlanRowMark(), _outQuery(), _outRangeTblEntry(), _outRelabelType(), _outRelOptInfo(), _outRowCompareExpr(), _outRowExpr(), _outRowMarkClause(), _outSelectStmt(), _outSetOp(), _outSetOperationStmt(), _outSetOpPath(), _outSortBy(), _outSpecialJoinInfo(), _outSQLValueFunction(), _outSubLink(), _outSubPlan(), _outUniquePath(), _outWithCheckOption(), _outXmlExpr(), and _outXmlSerialize().

◆ WRITE_FLOAT_FIELD

◆ WRITE_INT_ARRAY

#define WRITE_INT_ARRAY (   fldname,
  len 
)
Value:
do { \
appendStringInfoString(str, " :" CppAsString(fldname) " "); \
for (int i = 0; i < len; i++) \
appendStringInfo(str, " %d", node->fldname[i]); \
} while(0)
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276
int i

Definition at line 127 of file outfuncs.c.

Referenced by _outMergeJoin(), and _outPartitionedRelPruneInfo().

◆ WRITE_INT_FIELD

#define WRITE_INT_FIELD (   fldname)    appendStringInfo(str, " :" CppAsString(fldname) " %d", node->fldname)

Definition at line 55 of file outfuncs.c.

Referenced by _outAgg(), _outAggref(), _outAlterStatsStmt(), _outAppend(), _outAppendPath(), _outAppendRelInfo(), _outArrayCoerceExpr(), _outCaseTestExpr(), _outCoerceToDomain(), _outCoerceToDomainValue(), _outColumnDef(), _outCommonTableExpr(), _outConst(), _outCteScan(), _outCurrentOfExpr(), _outDeclareCursorStmt(), _outFieldSelect(), _outForeignKeyCacheInfo(), _outForeignKeyOptInfo(), _outForeignScan(), _outGather(), _outGatherMerge(), _outGatherMergePath(), _outGatherPath(), _outGroup(), _outHash(), _outHashPath(), _outIncrementalSort(), _outIncrementalSortPath(), _outIndexClause(), _outIndexOptInfo(), _outJoinExpr(), _outLimit(), _outLockRows(), _outLockRowsPath(), _outMergeAppend(), _outModifyTable(), _outModifyTablePath(), _outMultiAssignRef(), _outNamedArgExpr(), _outNestLoopParam(), _outOnConflictExpr(), _outParam(), _outParamRef(), _outPartitionBoundSpec(), _outPartitionedRelPruneInfo(), _outPartitionPruneStepCombine(), _outPartitionPruneStepOp(), _outPathInfo(), _outPathKey(), _outPathTarget(), _outPlaceHolderInfo(), _outPlanInfo(), _outPlanInvalItem(), _outPlannedStmt(), _outPlannerGlobal(), _outPlannerInfo(), _outPlannerParamItem(), _outPlanRowMark(), _outPLAssignStmt(), _outQuery(), _outRangeTblEntry(), _outRangeTblFunction(), _outRangeTblRef(), _outRawStmt(), _outRecursiveUnion(), _outRecursiveUnionPath(), _outRelabelType(), _outRelOptInfo(), _outSetOp(), _outSetOpPath(), _outSetToDefault(), _outSortInfo(), _outSQLValueFunction(), _outSubLink(), _outSubPlan(), _outSubscriptingRef(), _outTableFunc(), _outTargetEntry(), _outTypeName(), _outUnique(), _outUpperUniquePath(), _outVar(), _outWindowAgg(), _outWindowClause(), _outWindowDef(), _outWorkTableScan(), and _outXmlExpr().

◆ WRITE_LOCATION_FIELD

◆ WRITE_LONG_FIELD

#define WRITE_LONG_FIELD (   fldname)    appendStringInfo(str, " :" CppAsString(fldname) " %ld", node->fldname)

Definition at line 72 of file outfuncs.c.

Referenced by _outAgg(), _outRecursiveUnion(), and _outSetOp().

◆ WRITE_NODE_FIELD

#define WRITE_NODE_FIELD (   fldname)
Value:
(appendStringInfoString(str, " :" CppAsString(fldname) " "), \
outNode(str, node->fldname))
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
#define CppAsString(identifier)
Definition: c.h:276

Definition at line 104 of file outfuncs.c.

Referenced by _outA_ArrayExpr(), _outA_Indices(), _outA_Indirection(), _outAExpr(), _outAgg(), _outAggPath(), _outAggref(), _outAlias(), _outAlternativeSubPlan(), _outAlterStatsStmt(), _outAppend(), _outAppendPath(), _outAppendRelInfo(), _outArrayCoerceExpr(), _outArrayExpr(), _outBitmapAnd(), _outBitmapAndPath(), _outBitmapHeapPath(), _outBitmapHeapScan(), _outBitmapIndexScan(), _outBitmapOr(), _outBitmapOrPath(), _outBooleanTest(), _outBoolExpr(), _outCaseExpr(), _outCaseWhen(), _outCoalesceExpr(), _outCoerceToDomain(), _outCoerceViaIO(), _outCollateClause(), _outCollateExpr(), _outColumnDef(), _outColumnRef(), _outCommonTableExpr(), _outConstraint(), _outConvertRowtypeExpr(), _outCreateForeignTableStmt(), _outCreateStatsStmt(), _outCreateStmtInfo(), _outCustomPath(), _outCustomScan(), _outDeclareCursorStmt(), _outDefElem(), _outDistinctExpr(), _outEquivalenceClass(), _outEquivalenceMember(), _outFieldSelect(), _outFieldStore(), _outForeignPath(), _outForeignScan(), _outFromExpr(), _outFuncCall(), _outFuncExpr(), _outFunctionScan(), _outGatherMergePath(), _outGatherPath(), _outGroupingFunc(), _outGroupingSet(), _outGroupingSetData(), _outGroupingSetsPath(), _outGroupPath(), _outGroupResultPath(), _outHash(), _outHashJoin(), _outHashPath(), _outImportForeignSchemaStmt(), _outIndexClause(), _outIndexElem(), _outIndexOnlyScan(), _outIndexOptInfo(), _outIndexPath(), _outIndexScan(), _outIndexStmt(), _outInferenceElem(), _outIntoClause(), _outJoinExpr(), _outJoinPathInfo(), _outJoinPlanInfo(), _outLimit(), _outLimitPath(), _outLockingClause(), _outLockRows(), _outLockRowsPath(), _outMaterialPath(), _outMergeAppend(), _outMergeAppendPath(), _outMergeJoin(), _outMergePath(), _outMinMaxAggInfo(), _outMinMaxAggPath(), _outMinMaxExpr(), _outModifyTable(), _outModifyTablePath(), _outMultiAssignRef(), _outNamedArgExpr(), _outNestLoop(), _outNestLoopParam(), _outNullIfExpr(), _outNullTest(), _outOnConflictExpr(), _outOpExpr(), _outParamPathInfo(), _outPartitionBoundSpec(), _outPartitionedRelPruneInfo(), _outPartitionElem(), _outPartitionPruneInfo(), _outPartitionPruneStepCombine(), _outPartitionPruneStepOp(), _outPartitionRangeDatum(), _outPartitionSpec(), _outPathInfo(), _outPathKey(), _outPathTarget(), _outPlaceHolderInfo(), _outPlaceHolderVar(), _outPlanInfo(), _outPlannedStmt(), _outPlannerGlobal(), _outPlannerInfo(), _outPlannerParamItem(), _outPLAssignStmt(), _outProjectionPath(), _outProjectSetPath(), _outQuery(), _outRangeFunction(), _outRangeSubselect(), _outRangeTableFunc(), _outRangeTableFuncCol(), _outRangeTableSample(), _outRangeTblEntry(), _outRangeTblFunction(), _outRangeVar(), _outRawStmt(), _outRecursiveUnionPath(), _outRelabelType(), _outRelOptInfo(), _outResTarget(), _outRestrictInfo(), _outResult(), _outRollupData(), _outRowCompareExpr(), _outRowExpr(), _outSampleScan(), _outScalarArrayOpExpr(), _outSelectStmt(), _outSetOperationStmt(), _outSetOpPath(), _outSortBy(), _outSortPathInfo(), _outSpecialJoinInfo(), _outSubLink(), _outSubPlan(), _outSubqueryScan(), _outSubqueryScanPath(), _outSubscriptingRef(), _outTableFunc(), _outTableFuncScan(), _outTableLikeClause(), _outTableSampleClause(), _outTargetEntry(), _outTidPath(), _outTidScan(), _outTypeCast(), _outTypeName(), _outUniquePath(), _outUpperUniquePath(), _outValuesScan(), _outWindowAgg(), _outWindowAggPath(), _outWindowClause(), _outWindowDef(), _outWindowFunc(), _outWithCheckOption(), _outWithClause(), _outXmlExpr(), and _outXmlSerialize().

◆ WRITE_NODE_TYPE

#define WRITE_NODE_TYPE (   nodelabel)    appendStringInfoString(str, nodelabel)

Definition at line 51 of file outfuncs.c.

Referenced by _outA_ArrayExpr(), _outA_Indices(), _outA_Indirection(), _outA_Star(), _outAConst(), _outAExpr(), _outAgg(), _outAggPath(), _outAggref(), _outAlias(), _outAlternativeSubPlan(), _outAlterStatsStmt(), _outAppend(), _outAppendPath(), _outAppendRelInfo(), _outArrayCoerceExpr(), _outArrayExpr(), _outBitmapAnd(), _outBitmapAndPath(), _outBitmapHeapPath(), _outBitmapHeapScan(), _outBitmapIndexScan(), _outBitmapOr(), _outBitmapOrPath(), _outBooleanTest(), _outBoolExpr(), _outCaseExpr(), _outCaseTestExpr(), _outCaseWhen(), _outCoalesceExpr(), _outCoerceToDomain(), _outCoerceToDomainValue(), _outCoerceViaIO(), _outCollateClause(), _outCollateExpr(), _outColumnDef(), _outColumnRef(), _outCommonTableExpr(), _outConst(), _outConstraint(), _outConvertRowtypeExpr(), _outCreateForeignTableStmt(), _outCreateStatsStmt(), _outCreateStmt(), _outCteScan(), _outCurrentOfExpr(), _outCustomPath(), _outCustomScan(), _outDeclareCursorStmt(), _outDefElem(), _outDistinctExpr(), _outEquivalenceClass(), _outEquivalenceMember(), _outExtensibleNode(), _outFieldSelect(), _outFieldStore(), _outForeignKeyCacheInfo(), _outForeignKeyOptInfo(), _outForeignPath(), _outForeignScan(), _outFromExpr(), _outFuncCall(), _outFuncExpr(), _outFunctionScan(), _outGather(), _outGatherMerge(), _outGatherMergePath(), _outGatherPath(), _outGroup(), _outGroupingFunc(), _outGroupingSet(), _outGroupingSetData(), _outGroupingSetsPath(), _outGroupPath(), _outGroupResultPath(), _outHash(), _outHashJoin(), _outHashPath(), _outImportForeignSchemaStmt(), _outIncrementalSort(), _outIncrementalSortPath(), _outIndexClause(), _outIndexElem(), _outIndexOnlyScan(), _outIndexOptInfo(), _outIndexPath(), _outIndexScan(), _outIndexStmt(), _outInferenceElem(), _outIntoClause(), _outJoin(), _outJoinExpr(), _outLimit(), _outLimitPath(), _outLockingClause(), _outLockRows(), _outLockRowsPath(), _outMaterial(), _outMaterialPath(), _outMergeAppend(), _outMergeAppendPath(), _outMergeJoin(), _outMergePath(), _outMinMaxAggInfo(), _outMinMaxAggPath(), _outMinMaxExpr(), _outModifyTable(), _outModifyTablePath(), _outMultiAssignRef(), _outNamedArgExpr(), _outNamedTuplestoreScan(), _outNestLoop(), _outNestLoopParam(), _outNestPath(), _outNextValueExpr(), _outNotifyStmt(), _outNullIfExpr(), _outNullTest(), _outOnConflictExpr(), _outOpExpr(), _outParam(), _outParamPathInfo(), _outParamRef(), _outPartitionBoundSpec(), _outPartitionedRelPruneInfo(), _outPartitionElem(), _outPartitionPruneInfo(), _outPartitionPruneStepCombine(), _outPartitionPruneStepOp(), _outPartitionRangeDatum(), _outPartitionSpec(), _outPath(), _outPathKey(), _outPathTarget(), _outPlaceHolderInfo(), _outPlaceHolderVar(), _outPlan(), _outPlanInvalItem(), _outPlannedStmt(), _outPlannerGlobal(), _outPlannerInfo(), _outPlannerParamItem(), _outPlanRowMark(), _outPLAssignStmt(), _outProjectionPath(), _outProjectSet(), _outProjectSetPath(), _outQuery(), _outRangeFunction(), _outRangeSubselect(), _outRangeTableFunc(), _outRangeTableFuncCol(), _outRangeTableSample(), _outRangeTblEntry(), _outRangeTblFunction(), _outRangeTblRef(), _outRangeVar(), _outRawStmt(), _outRecursiveUnion(), _outRecursiveUnionPath(), _outRelabelType(), _outRelOptInfo(), _outResTarget(), _outRestrictInfo(), _outResult(), _outRollupData(), _outRowCompareExpr(), _outRowExpr(), _outRowMarkClause(), _outSampleScan(), _outScalarArrayOpExpr(), _outScan(), _outSelectStmt(), _outSeqScan(), _outSetOp(), _outSetOperationStmt(), _outSetOpPath(), _outSetToDefault(), _outSort(), _outSortBy(), _outSortGroupClause(), _outSortPath(), _outSpecialJoinInfo(), _outSQLValueFunction(), _outStatisticExtInfo(), _outSubLink(), _outSubPlan(), _outSubqueryScan(), _outSubqueryScanPath(), _outSubscriptingRef(), _outTableFunc(), _outTableFuncScan(), _outTableLikeClause(), _outTableSampleClause(), _outTargetEntry(), _outTidPath(), _outTidScan(), _outTriggerTransition(), _outTypeCast(), _outTypeName(), _outUnique(), _outUniquePath(), _outUpperUniquePath(), _outValuesScan(), _outVar(), _outWindowAgg(), _outWindowAggPath(), _outWindowClause(), _outWindowDef(), _outWindowFunc(), _outWithCheckOption(), _outWithClause(), _outWorkTableScan(), _outXmlExpr(), and _outXmlSerialize().

◆ WRITE_OID_ARRAY

#define WRITE_OID_ARRAY (   fldname,
  len 
)
Value:
do { \
appendStringInfoString(str, " :" CppAsString(fldname) " "); \
for (int i = 0; i < len; i++) \
appendStringInfo(str, " %u", node->fldname[i]); \
} while(0)
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276
int i

Definition at line 120 of file outfuncs.c.

Referenced by _outAgg(), _outForeignKeyCacheInfo(), _outForeignKeyOptInfo(), _outGatherMerge(), _outGroup(), _outLimit(), _outMergeAppend(), _outMergeJoin(), _outPartitionedRelPruneInfo(), _outRecursiveUnion(), _outSetOp(), _outSortInfo(), _outUnique(), and _outWindowAgg().

◆ WRITE_OID_FIELD

◆ WRITE_STRING_FIELD

◆ WRITE_UINT64_FIELD

#define WRITE_UINT64_FIELD (   fldname)
Value:
node->fldname)
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define CppAsString(identifier)
Definition: c.h:276
#define UINT64_FORMAT
Definition: c.h:472

Definition at line 63 of file outfuncs.c.

Referenced by _outAgg(), _outAggPath(), _outGroupingSetsPath(), and _outPlannedStmt().

◆ WRITE_UINT_FIELD

Function Documentation

◆ _outA_ArrayExpr()

static void _outA_ArrayExpr ( StringInfo  str,
const A_ArrayExpr node 
)
static

Definition at line 3399 of file outfuncs.c.

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3400 {
3401  WRITE_NODE_TYPE("A_ARRAYEXPR");
3402 
3403  WRITE_NODE_FIELD(elements);
3404  WRITE_LOCATION_FIELD(location);
3405 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outA_Indices()

static void _outA_Indices ( StringInfo  str,
const A_Indices node 
)
static

Definition at line 3380 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3381 {
3382  WRITE_NODE_TYPE("A_INDICES");
3383 
3384  WRITE_BOOL_FIELD(is_slice);
3385  WRITE_NODE_FIELD(lidx);
3386  WRITE_NODE_FIELD(uidx);
3387 }
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outA_Indirection()

static void _outA_Indirection ( StringInfo  str,
const A_Indirection node 
)
static

Definition at line 3390 of file outfuncs.c.

References arg, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3391 {
3392  WRITE_NODE_TYPE("A_INDIRECTION");
3393 
3395  WRITE_NODE_FIELD(indirection);
3396 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outA_Star()

static void _outA_Star ( StringInfo  str,
const A_Star node 
)
static

Definition at line 3374 of file outfuncs.c.

References WRITE_NODE_TYPE.

Referenced by outNode().

3375 {
3376  WRITE_NODE_TYPE("A_STAR");
3377 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outAConst()

static void _outAConst ( StringInfo  str,
const A_Const node 
)
static

Definition at line 3364 of file outfuncs.c.

References _outValue(), appendStringInfoString(), A_Const::val, WRITE_LOCATION_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3365 {
3366  WRITE_NODE_TYPE("A_CONST");
3367 
3368  appendStringInfoString(str, " :val ");
3369  _outValue(str, &(node->val));
3370  WRITE_LOCATION_FIELD(location);
3371 }
static void _outValue(StringInfo str, const Value *value)
Definition: outfuncs.c:3291
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
Value val
Definition: parsenodes.h:287

◆ _outAExpr()

static void _outAExpr ( StringInfo  str,
const A_Expr node 
)
static

Definition at line 3216 of file outfuncs.c.

References AEXPR_BETWEEN, AEXPR_BETWEEN_SYM, AEXPR_DISTINCT, AEXPR_ILIKE, AEXPR_IN, AEXPR_LIKE, AEXPR_NOT_BETWEEN, AEXPR_NOT_BETWEEN_SYM, AEXPR_NOT_DISTINCT, AEXPR_NULLIF, AEXPR_OP, AEXPR_OP_ALL, AEXPR_OP_ANY, AEXPR_SIMILAR, appendStringInfoChar(), appendStringInfoString(), A_Expr::kind, name, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3217 {
3218  WRITE_NODE_TYPE("AEXPR");
3219 
3220  switch (node->kind)
3221  {
3222  case AEXPR_OP:
3223  appendStringInfoChar(str, ' ');
3225  break;
3226  case AEXPR_OP_ANY:
3227  appendStringInfoChar(str, ' ');
3229  appendStringInfoString(str, " ANY ");
3230  break;
3231  case AEXPR_OP_ALL:
3232  appendStringInfoChar(str, ' ');
3234  appendStringInfoString(str, " ALL ");
3235  break;
3236  case AEXPR_DISTINCT:
3237  appendStringInfoString(str, " DISTINCT ");
3239  break;
3240  case AEXPR_NOT_DISTINCT:
3241  appendStringInfoString(str, " NOT_DISTINCT ");
3243  break;
3244  case AEXPR_NULLIF:
3245  appendStringInfoString(str, " NULLIF ");
3247  break;
3248  case AEXPR_IN:
3249  appendStringInfoString(str, " IN ");
3251  break;
3252  case AEXPR_LIKE:
3253  appendStringInfoString(str, " LIKE ");
3255  break;
3256  case AEXPR_ILIKE:
3257  appendStringInfoString(str, " ILIKE ");
3259  break;
3260  case AEXPR_SIMILAR:
3261  appendStringInfoString(str, " SIMILAR ");
3263  break;
3264  case AEXPR_BETWEEN:
3265  appendStringInfoString(str, " BETWEEN ");
3267  break;
3268  case AEXPR_NOT_BETWEEN:
3269  appendStringInfoString(str, " NOT_BETWEEN ");
3271  break;
3272  case AEXPR_BETWEEN_SYM:
3273  appendStringInfoString(str, " BETWEEN_SYM ");
3275  break;
3276  case AEXPR_NOT_BETWEEN_SYM:
3277  appendStringInfoString(str, " NOT_BETWEEN_SYM ");
3279  break;
3280  default:
3281  appendStringInfoString(str, " ??");
3282  break;
3283  }
3284 
3285  WRITE_NODE_FIELD(lexpr);
3286  WRITE_NODE_FIELD(rexpr);
3287  WRITE_LOCATION_FIELD(location);
3288 }
A_Expr_Kind kind
Definition: parsenodes.h:274
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
void appendStringInfoChar(StringInfo str, char ch)
Definition: stringinfo.c:188
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
const char * name
Definition: encode.c:515
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAgg()

static void _outAgg ( StringInfo  str,
const Agg node 
)
static

Definition at line 771 of file outfuncs.c.

References _outPlanInfo(), WRITE_ATTRNUMBER_ARRAY, WRITE_BITMAPSET_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LONG_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_ARRAY, and WRITE_UINT64_FIELD.

Referenced by outNode().

772 {
773  WRITE_NODE_TYPE("AGG");
774 
775  _outPlanInfo(str, (const Plan *) node);
776 
777  WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
778  WRITE_ENUM_FIELD(aggsplit, AggSplit);
779  WRITE_INT_FIELD(numCols);
780  WRITE_ATTRNUMBER_ARRAY(grpColIdx, node->numCols);
781  WRITE_OID_ARRAY(grpOperators, node->numCols);
782  WRITE_OID_ARRAY(grpCollations, node->numCols);
783  WRITE_LONG_FIELD(numGroups);
784  WRITE_UINT64_FIELD(transitionSpace);
785  WRITE_BITMAPSET_FIELD(aggParams);
786  WRITE_NODE_FIELD(groupingSets);
787  WRITE_NODE_FIELD(chain);
788 }
int numCols
Definition: plannodes.h:821
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_LONG_FIELD(fldname)
Definition: outfuncs.c:72
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_UINT64_FIELD(fldname)
Definition: outfuncs.c:63
AggSplit
Definition: nodes.h:779
AggStrategy
Definition: nodes.h:757
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAggPath()

static void _outAggPath ( StringInfo  str,
const AggPath node 
)
static

Definition at line 2008 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_ENUM_FIELD, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT64_FIELD.

Referenced by outNode().

2009 {
2010  WRITE_NODE_TYPE("AGGPATH");
2011 
2012  _outPathInfo(str, (const Path *) node);
2013 
2015  WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
2016  WRITE_ENUM_FIELD(aggsplit, AggSplit);
2017  WRITE_FLOAT_FIELD(numGroups, "%.0f");
2018  WRITE_UINT64_FIELD(transitionSpace);
2019  WRITE_NODE_FIELD(groupClause);
2020  WRITE_NODE_FIELD(qual);
2021 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_UINT64_FIELD(fldname)
Definition: outfuncs.c:63
AggSplit
Definition: nodes.h:779
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
AggStrategy
Definition: nodes.h:757
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAggref()

static void _outAggref ( StringInfo  str,
const Aggref node 
)
static

Definition at line 1136 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

1137 {
1138  WRITE_NODE_TYPE("AGGREF");
1139 
1140  WRITE_OID_FIELD(aggfnoid);
1141  WRITE_OID_FIELD(aggtype);
1142  WRITE_OID_FIELD(aggcollid);
1143  WRITE_OID_FIELD(inputcollid);
1144  WRITE_OID_FIELD(aggtranstype);
1145  WRITE_NODE_FIELD(aggargtypes);
1146  WRITE_NODE_FIELD(aggdirectargs);
1148  WRITE_NODE_FIELD(aggorder);
1149  WRITE_NODE_FIELD(aggdistinct);
1150  WRITE_NODE_FIELD(aggfilter);
1151  WRITE_BOOL_FIELD(aggstar);
1152  WRITE_BOOL_FIELD(aggvariadic);
1153  WRITE_CHAR_FIELD(aggkind);
1154  WRITE_UINT_FIELD(agglevelsup);
1155  WRITE_ENUM_FIELD(aggsplit, AggSplit);
1156  WRITE_INT_FIELD(aggno);
1157  WRITE_INT_FIELD(aggtransno);
1158  WRITE_LOCATION_FIELD(location);
1159 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_CHAR_FIELD(fldname)
Definition: outfuncs.c:76
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
AggSplit
Definition: nodes.h:779
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAlias()

static void _outAlias ( StringInfo  str,
const Alias node 
)
static

Definition at line 1026 of file outfuncs.c.

References WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

1027 {
1028  WRITE_NODE_TYPE("ALIAS");
1029 
1030  WRITE_STRING_FIELD(aliasname);
1031  WRITE_NODE_FIELD(colnames);
1032 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAlternativeSubPlan()

static void _outAlternativeSubPlan ( StringInfo  str,
const AlternativeSubPlan node 
)
static

Definition at line 1355 of file outfuncs.c.

References WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1356 {
1357  WRITE_NODE_TYPE("ALTERNATIVESUBPLAN");
1358 
1359  WRITE_NODE_FIELD(subplans);
1360 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAlterStatsStmt()

static void _outAlterStatsStmt ( StringInfo  str,
const AlterStatsStmt node 
)
static

Definition at line 2724 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2725 {
2726  WRITE_NODE_TYPE("ALTERSTATSSTMT");
2727 
2728  WRITE_NODE_FIELD(defnames);
2729  WRITE_INT_FIELD(stxstattarget);
2730  WRITE_BOOL_FIELD(missing_ok);
2731 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAppend()

static void _outAppend ( StringInfo  str,
const Append node 
)
static

Definition at line 426 of file outfuncs.c.

References _outPlanInfo(), WRITE_BITMAPSET_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

427 {
428  WRITE_NODE_TYPE("APPEND");
429 
430  _outPlanInfo(str, (const Plan *) node);
431 
432  WRITE_BITMAPSET_FIELD(apprelids);
433  WRITE_NODE_FIELD(appendplans);
434  WRITE_INT_FIELD(first_partial_plan);
435  WRITE_NODE_FIELD(part_prune_info);
436 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAppendPath()

static void _outAppendPath ( StringInfo  str,
const AppendPath node 
)
static

Definition at line 1868 of file outfuncs.c.

References _outPathInfo(), WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1869 {
1870  WRITE_NODE_TYPE("APPENDPATH");
1871 
1872  _outPathInfo(str, (const Path *) node);
1873 
1874  WRITE_NODE_FIELD(partitioned_rels);
1875  WRITE_NODE_FIELD(subpaths);
1876  WRITE_INT_FIELD(first_partial_path);
1877  WRITE_FLOAT_FIELD(limit_tuples, "%.0f");
1878 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outAppendRelInfo()

static void _outAppendRelInfo ( StringInfo  str,
const AppendRelInfo node 
)
static

Definition at line 2551 of file outfuncs.c.

References AppendRelInfo::num_child_cols, WRITE_ATTRNUMBER_ARRAY, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

2552 {
2553  WRITE_NODE_TYPE("APPENDRELINFO");
2554 
2555  WRITE_UINT_FIELD(parent_relid);
2556  WRITE_UINT_FIELD(child_relid);
2557  WRITE_OID_FIELD(parent_reltype);
2558  WRITE_OID_FIELD(child_reltype);
2559  WRITE_NODE_FIELD(translated_vars);
2560  WRITE_INT_FIELD(num_child_cols);
2561  WRITE_ATTRNUMBER_ARRAY(parent_colnos, node->num_child_cols);
2562  WRITE_OID_FIELD(parent_reloid);
2563 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
int num_child_cols
Definition: pathnodes.h:2274
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outArrayCoerceExpr()

static void _outArrayCoerceExpr ( StringInfo  str,
const ArrayCoerceExpr node 
)
static

Definition at line 1411 of file outfuncs.c.

References arg, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1412 {
1413  WRITE_NODE_TYPE("ARRAYCOERCEEXPR");
1414 
1416  WRITE_NODE_FIELD(elemexpr);
1417  WRITE_OID_FIELD(resulttype);
1418  WRITE_INT_FIELD(resulttypmod);
1419  WRITE_OID_FIELD(resultcollid);
1420  WRITE_ENUM_FIELD(coerceformat, CoercionForm);
1421  WRITE_LOCATION_FIELD(location);
1422 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
CoercionForm
Definition: primnodes.h:476
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outArrayExpr()

static void _outArrayExpr ( StringInfo  str,
const ArrayExpr node 
)
static

Definition at line 1479 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1480 {
1481  WRITE_NODE_TYPE("ARRAY");
1482 
1483  WRITE_OID_FIELD(array_typeid);
1484  WRITE_OID_FIELD(array_collid);
1485  WRITE_OID_FIELD(element_typeid);
1486  WRITE_NODE_FIELD(elements);
1487  WRITE_BOOL_FIELD(multidims);
1488  WRITE_LOCATION_FIELD(location);
1489 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapAnd()

static void _outBitmapAnd ( StringInfo  str,
const BitmapAnd node 
)
static

Definition at line 471 of file outfuncs.c.

References _outPlanInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

472 {
473  WRITE_NODE_TYPE("BITMAPAND");
474 
475  _outPlanInfo(str, (const Plan *) node);
476 
477  WRITE_NODE_FIELD(bitmapplans);
478 }
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapAndPath()

static void _outBitmapAndPath ( StringInfo  str,
const BitmapAndPath node 
)
static

Definition at line 1801 of file outfuncs.c.

References _outPathInfo(), WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1802 {
1803  WRITE_NODE_TYPE("BITMAPANDPATH");
1804 
1805  _outPathInfo(str, (const Path *) node);
1806 
1807  WRITE_NODE_FIELD(bitmapquals);
1808  WRITE_FLOAT_FIELD(bitmapselectivity, "%.4f");
1809 }
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapHeapPath()

static void _outBitmapHeapPath ( StringInfo  str,
const BitmapHeapPath node 
)
static

Definition at line 1791 of file outfuncs.c.

References _outPathInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1792 {
1793  WRITE_NODE_TYPE("BITMAPHEAPPATH");
1794 
1795  _outPathInfo(str, (const Path *) node);
1796 
1797  WRITE_NODE_FIELD(bitmapqual);
1798 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapHeapScan()

static void _outBitmapHeapScan ( StringInfo  str,
const BitmapHeapScan node 
)
static

Definition at line 592 of file outfuncs.c.

References _outScanInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

593 {
594  WRITE_NODE_TYPE("BITMAPHEAPSCAN");
595 
596  _outScanInfo(str, (const Scan *) node);
597 
598  WRITE_NODE_FIELD(bitmapqualorig);
599 }
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapIndexScan()

static void _outBitmapIndexScan ( StringInfo  str,
const BitmapIndexScan node 
)
static

Definition at line 579 of file outfuncs.c.

References _outScanInfo(), WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

580 {
581  WRITE_NODE_TYPE("BITMAPINDEXSCAN");
582 
583  _outScanInfo(str, (const Scan *) node);
584 
585  WRITE_OID_FIELD(indexid);
586  WRITE_BOOL_FIELD(isshared);
587  WRITE_NODE_FIELD(indexqual);
588  WRITE_NODE_FIELD(indexqualorig);
589 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapOr()

static void _outBitmapOr ( StringInfo  str,
const BitmapOr node 
)
static

Definition at line 481 of file outfuncs.c.

References _outPlanInfo(), WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

482 {
483  WRITE_NODE_TYPE("BITMAPOR");
484 
485  _outPlanInfo(str, (const Plan *) node);
486 
487  WRITE_BOOL_FIELD(isshared);
488  WRITE_NODE_FIELD(bitmapplans);
489 }
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBitmapOrPath()

static void _outBitmapOrPath ( StringInfo  str,
const BitmapOrPath node 
)
static

Definition at line 1812 of file outfuncs.c.

References _outPathInfo(), WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1813 {
1814  WRITE_NODE_TYPE("BITMAPORPATH");
1815 
1816  _outPathInfo(str, (const Path *) node);
1817 
1818  WRITE_NODE_FIELD(bitmapquals);
1819  WRITE_FLOAT_FIELD(bitmapselectivity, "%.4f");
1820 }
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBooleanTest()

static void _outBooleanTest ( StringInfo  str,
const BooleanTest node 
)
static

Definition at line 1579 of file outfuncs.c.

References arg, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1580 {
1581  WRITE_NODE_TYPE("BOOLEANTEST");
1582 
1584  WRITE_ENUM_FIELD(booltesttype, BoolTestType);
1585  WRITE_LOCATION_FIELD(location);
1586 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
BoolTestType
Definition: primnodes.h:1258
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outBoolExpr()

static void _outBoolExpr ( StringInfo  str,
const BoolExpr node 
)
static

Definition at line 1292 of file outfuncs.c.

References AND_EXPR, appendStringInfoString(), generate_unaccent_rules::args, BoolExpr::boolop, NOT_EXPR, OR_EXPR, outToken(), WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1293 {
1294  char *opstr = NULL;
1295 
1296  WRITE_NODE_TYPE("BOOLEXPR");
1297 
1298  /* do-it-yourself enum representation */
1299  switch (node->boolop)
1300  {
1301  case AND_EXPR:
1302  opstr = "and";
1303  break;
1304  case OR_EXPR:
1305  opstr = "or";
1306  break;
1307  case NOT_EXPR:
1308  opstr = "not";
1309  break;
1310  }
1311  appendStringInfoString(str, " :boolop ");
1312  outToken(str, opstr);
1313 
1315  WRITE_LOCATION_FIELD(location);
1316 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
void outToken(StringInfo str, const char *s)
Definition: outfuncs.c:153
BoolExprType boolop
Definition: primnodes.h:603
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCaseExpr()

static void _outCaseExpr ( StringInfo  str,
const CaseExpr node 
)
static

Definition at line 1446 of file outfuncs.c.

References arg, generate_unaccent_rules::args, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1447 {
1448  WRITE_NODE_TYPE("CASE");
1449 
1450  WRITE_OID_FIELD(casetype);
1451  WRITE_OID_FIELD(casecollid);
1454  WRITE_NODE_FIELD(defresult);
1455  WRITE_LOCATION_FIELD(location);
1456 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCaseTestExpr()

static void _outCaseTestExpr ( StringInfo  str,
const CaseTestExpr node 
)
static

Definition at line 1469 of file outfuncs.c.

References WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1470 {
1471  WRITE_NODE_TYPE("CASETESTEXPR");
1472 
1473  WRITE_OID_FIELD(typeId);
1474  WRITE_INT_FIELD(typeMod);
1475  WRITE_OID_FIELD(collation);
1476 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outCaseWhen()

static void _outCaseWhen ( StringInfo  str,
const CaseWhen node 
)
static

Definition at line 1459 of file outfuncs.c.

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1460 {
1461  WRITE_NODE_TYPE("WHEN");
1462 
1463  WRITE_NODE_FIELD(expr);
1464  WRITE_NODE_FIELD(result);
1465  WRITE_LOCATION_FIELD(location);
1466 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCoalesceExpr()

static void _outCoalesceExpr ( StringInfo  str,
const CoalesceExpr node 
)
static

Definition at line 1517 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1518 {
1519  WRITE_NODE_TYPE("COALESCE");
1520 
1521  WRITE_OID_FIELD(coalescetype);
1522  WRITE_OID_FIELD(coalescecollid);
1524  WRITE_LOCATION_FIELD(location);
1525 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCoerceToDomain()

static void _outCoerceToDomain ( StringInfo  str,
const CoerceToDomain node 
)
static

Definition at line 1589 of file outfuncs.c.

References arg, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1590 {
1591  WRITE_NODE_TYPE("COERCETODOMAIN");
1592 
1594  WRITE_OID_FIELD(resulttype);
1595  WRITE_INT_FIELD(resulttypmod);
1596  WRITE_OID_FIELD(resultcollid);
1597  WRITE_ENUM_FIELD(coercionformat, CoercionForm);
1598  WRITE_LOCATION_FIELD(location);
1599 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
CoercionForm
Definition: primnodes.h:476
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCoerceToDomainValue()

static void _outCoerceToDomainValue ( StringInfo  str,
const CoerceToDomainValue node 
)
static

Definition at line 1602 of file outfuncs.c.

References WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1603 {
1604  WRITE_NODE_TYPE("COERCETODOMAINVALUE");
1605 
1606  WRITE_OID_FIELD(typeId);
1607  WRITE_INT_FIELD(typeMod);
1608  WRITE_OID_FIELD(collation);
1609  WRITE_LOCATION_FIELD(location);
1610 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outCoerceViaIO()

static void _outCoerceViaIO ( StringInfo  str,
const CoerceViaIO node 
)
static

Definition at line 1399 of file outfuncs.c.

References arg, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1400 {
1401  WRITE_NODE_TYPE("COERCEVIAIO");
1402 
1404  WRITE_OID_FIELD(resulttype);
1405  WRITE_OID_FIELD(resultcollid);
1406  WRITE_ENUM_FIELD(coerceformat, CoercionForm);
1407  WRITE_LOCATION_FIELD(location);
1408 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
CoercionForm
Definition: primnodes.h:476
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCollateClause()

static void _outCollateClause ( StringInfo  str,
const CollateClause node 
)
static

Definition at line 2911 of file outfuncs.c.

References arg, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2912 {
2913  WRITE_NODE_TYPE("COLLATECLAUSE");
2914 
2916  WRITE_NODE_FIELD(collname);
2917  WRITE_LOCATION_FIELD(location);
2918 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCollateExpr()

static void _outCollateExpr ( StringInfo  str,
const CollateExpr node 
)
static

Definition at line 1436 of file outfuncs.c.

References arg, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1437 {
1438  WRITE_NODE_TYPE("COLLATE");
1439 
1441  WRITE_OID_FIELD(collOid);
1442  WRITE_LOCATION_FIELD(location);
1443 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outColumnDef()

static void _outColumnDef ( StringInfo  str,
const ColumnDef node 
)
static

Definition at line 2862 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_STRING_FIELD.

Referenced by outNode().

2863 {
2864  WRITE_NODE_TYPE("COLUMNDEF");
2865 
2866  WRITE_STRING_FIELD(colname);
2867  WRITE_NODE_FIELD(typeName);
2868  WRITE_INT_FIELD(inhcount);
2869  WRITE_BOOL_FIELD(is_local);
2870  WRITE_BOOL_FIELD(is_not_null);
2871  WRITE_BOOL_FIELD(is_from_type);
2872  WRITE_CHAR_FIELD(storage);
2873  WRITE_NODE_FIELD(raw_default);
2874  WRITE_NODE_FIELD(cooked_default);
2875  WRITE_CHAR_FIELD(identity);
2876  WRITE_NODE_FIELD(identitySequence);
2877  WRITE_CHAR_FIELD(generated);
2878  WRITE_NODE_FIELD(collClause);
2879  WRITE_OID_FIELD(collOid);
2880  WRITE_NODE_FIELD(constraints);
2881  WRITE_NODE_FIELD(fdwoptions);
2882  WRITE_LOCATION_FIELD(location);
2883 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_CHAR_FIELD(fldname)
Definition: outfuncs.c:76
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outColumnRef()

static void _outColumnRef ( StringInfo  str,
const ColumnRef node 
)
static

Definition at line 3332 of file outfuncs.c.

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3333 {
3334  WRITE_NODE_TYPE("COLUMNREF");
3335 
3336  WRITE_NODE_FIELD(fields);
3337  WRITE_LOCATION_FIELD(location);
3338 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCommonTableExpr()

static void _outCommonTableExpr ( StringInfo  str,
const CommonTableExpr node 
)
static

Definition at line 3081 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

3082 {
3083  WRITE_NODE_TYPE("COMMONTABLEEXPR");
3084 
3085  WRITE_STRING_FIELD(ctename);
3086  WRITE_NODE_FIELD(aliascolnames);
3087  WRITE_ENUM_FIELD(ctematerialized, CTEMaterialize);
3088  WRITE_NODE_FIELD(ctequery);
3089  WRITE_LOCATION_FIELD(location);
3090  WRITE_BOOL_FIELD(cterecursive);
3091  WRITE_INT_FIELD(cterefcount);
3092  WRITE_NODE_FIELD(ctecolnames);
3093  WRITE_NODE_FIELD(ctecoltypes);
3094  WRITE_NODE_FIELD(ctecoltypmods);
3095  WRITE_NODE_FIELD(ctecolcollations);
3096 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
CTEMaterialize
Definition: parsenodes.h:1445
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outConst()

static void _outConst ( StringInfo  str,
const Const node 
)
static

Definition at line 1103 of file outfuncs.c.

References appendStringInfoString(), Const::constbyval, Const::constisnull, Const::constlen, Const::constvalue, outDatum(), WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1104 {
1105  WRITE_NODE_TYPE("CONST");
1106 
1107  WRITE_OID_FIELD(consttype);
1108  WRITE_INT_FIELD(consttypmod);
1109  WRITE_OID_FIELD(constcollid);
1110  WRITE_INT_FIELD(constlen);
1111  WRITE_BOOL_FIELD(constbyval);
1112  WRITE_BOOL_FIELD(constisnull);
1113  WRITE_LOCATION_FIELD(location);
1114 
1115  appendStringInfoString(str, " :constvalue ");
1116  if (node->constisnull)
1117  appendStringInfoString(str, "<>");
1118  else
1119  outDatum(str, node->constvalue, node->constlen, node->constbyval);
1120 }
Datum constvalue
Definition: primnodes.h:214
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
bool constbyval
Definition: primnodes.h:217
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
void outDatum(StringInfo str, Datum value, int typlen, bool typbyval)
Definition: outfuncs.c:259
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
int constlen
Definition: primnodes.h:213
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
bool constisnull
Definition: primnodes.h:215

◆ _outConstraint()

static void _outConstraint ( StringInfo  str,
const Constraint node 
)
static

Definition at line 3519 of file outfuncs.c.

References appendStringInfo(), appendStringInfoString(), CONSTR_ATTR_DEFERRABLE, CONSTR_ATTR_DEFERRED, CONSTR_ATTR_IMMEDIATE, CONSTR_ATTR_NOT_DEFERRABLE, CONSTR_CHECK, CONSTR_DEFAULT, CONSTR_EXCLUSION, CONSTR_FOREIGN, CONSTR_GENERATED, CONSTR_IDENTITY, CONSTR_NOTNULL, CONSTR_NULL, CONSTR_PRIMARY, CONSTR_UNIQUE, Constraint::contype, WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_STRING_FIELD.

Referenced by outNode().

3520 {
3521  WRITE_NODE_TYPE("CONSTRAINT");
3522 
3523  WRITE_STRING_FIELD(conname);
3524  WRITE_BOOL_FIELD(deferrable);
3525  WRITE_BOOL_FIELD(initdeferred);
3526  WRITE_LOCATION_FIELD(location);
3527 
3528  appendStringInfoString(str, " :contype ");
3529  switch (node->contype)
3530  {
3531  case CONSTR_NULL:
3532  appendStringInfoString(str, "NULL");
3533  break;
3534 
3535  case CONSTR_NOTNULL:
3536  appendStringInfoString(str, "NOT_NULL");
3537  break;
3538 
3539  case CONSTR_DEFAULT:
3540  appendStringInfoString(str, "DEFAULT");
3541  WRITE_NODE_FIELD(raw_expr);
3542  WRITE_STRING_FIELD(cooked_expr);
3543  break;
3544 
3545  case CONSTR_IDENTITY:
3546  appendStringInfoString(str, "IDENTITY");
3547  WRITE_NODE_FIELD(raw_expr);
3548  WRITE_STRING_FIELD(cooked_expr);
3549  WRITE_CHAR_FIELD(generated_when);
3550  break;
3551 
3552  case CONSTR_GENERATED:
3553  appendStringInfoString(str, "GENERATED");
3554  WRITE_NODE_FIELD(raw_expr);
3555  WRITE_STRING_FIELD(cooked_expr);
3556  WRITE_CHAR_FIELD(generated_when);
3557  break;
3558 
3559  case CONSTR_CHECK:
3560  appendStringInfoString(str, "CHECK");
3561  WRITE_BOOL_FIELD(is_no_inherit);
3562  WRITE_NODE_FIELD(raw_expr);
3563  WRITE_STRING_FIELD(cooked_expr);
3564  break;
3565 
3566  case CONSTR_PRIMARY:
3567  appendStringInfoString(str, "PRIMARY_KEY");
3568  WRITE_NODE_FIELD(keys);
3569  WRITE_NODE_FIELD(including);
3571  WRITE_STRING_FIELD(indexname);
3572  WRITE_STRING_FIELD(indexspace);
3573  WRITE_BOOL_FIELD(reset_default_tblspc);
3574  /* access_method and where_clause not currently used */
3575  break;
3576 
3577  case CONSTR_UNIQUE:
3578  appendStringInfoString(str, "UNIQUE");
3579  WRITE_NODE_FIELD(keys);
3580  WRITE_NODE_FIELD(including);
3582  WRITE_STRING_FIELD(indexname);
3583  WRITE_STRING_FIELD(indexspace);
3584  WRITE_BOOL_FIELD(reset_default_tblspc);
3585  /* access_method and where_clause not currently used */
3586  break;
3587 
3588  case CONSTR_EXCLUSION:
3589  appendStringInfoString(str, "EXCLUSION");
3590  WRITE_NODE_FIELD(exclusions);
3591  WRITE_NODE_FIELD(including);
3593  WRITE_STRING_FIELD(indexname);
3594  WRITE_STRING_FIELD(indexspace);
3595  WRITE_BOOL_FIELD(reset_default_tblspc);
3596  WRITE_STRING_FIELD(access_method);
3597  WRITE_NODE_FIELD(where_clause);
3598  break;
3599 
3600  case CONSTR_FOREIGN:
3601  appendStringInfoString(str, "FOREIGN_KEY");
3602  WRITE_NODE_FIELD(pktable);
3603  WRITE_NODE_FIELD(fk_attrs);
3604  WRITE_NODE_FIELD(pk_attrs);
3605  WRITE_CHAR_FIELD(fk_matchtype);
3606  WRITE_CHAR_FIELD(fk_upd_action);
3607  WRITE_CHAR_FIELD(fk_del_action);
3608  WRITE_NODE_FIELD(old_conpfeqop);
3609  WRITE_OID_FIELD(old_pktable_oid);
3610  WRITE_BOOL_FIELD(skip_validation);
3611  WRITE_BOOL_FIELD(initially_valid);
3612  break;
3613 
3615  appendStringInfoString(str, "ATTR_DEFERRABLE");
3616  break;
3617 
3619  appendStringInfoString(str, "ATTR_NOT_DEFERRABLE");
3620  break;
3621 
3622  case CONSTR_ATTR_DEFERRED:
3623  appendStringInfoString(str, "ATTR_DEFERRED");
3624  break;
3625 
3626  case CONSTR_ATTR_IMMEDIATE:
3627  appendStringInfoString(str, "ATTR_IMMEDIATE");
3628  break;
3629 
3630  default:
3631  appendStringInfo(str, "<unrecognized_constraint %d>",
3632  (int) node->contype);
3633  break;
3634  }
3635 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_CHAR_FIELD(fldname)
Definition: outfuncs.c:76
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
ConstrType contype
Definition: parsenodes.h:2168
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outConvertRowtypeExpr()

static void _outConvertRowtypeExpr ( StringInfo  str,
const ConvertRowtypeExpr node 
)
static

Definition at line 1425 of file outfuncs.c.

References arg, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1426 {
1427  WRITE_NODE_TYPE("CONVERTROWTYPEEXPR");
1428 
1430  WRITE_OID_FIELD(resulttype);
1431  WRITE_ENUM_FIELD(convertformat, CoercionForm);
1432  WRITE_LOCATION_FIELD(location);
1433 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
CoercionForm
Definition: primnodes.h:476
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCreateForeignTableStmt()

static void _outCreateForeignTableStmt ( StringInfo  str,
const CreateForeignTableStmt node 
)
static

Definition at line 2657 of file outfuncs.c.

References _outCreateStmtInfo(), WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2658 {
2659  WRITE_NODE_TYPE("CREATEFOREIGNTABLESTMT");
2660 
2661  _outCreateStmtInfo(str, (const CreateStmt *) node);
2662 
2663  WRITE_STRING_FIELD(servername);
2665 }
static void _outCreateStmtInfo(StringInfo str, const CreateStmt *node)
Definition: outfuncs.c:2632
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCreateStatsStmt()

static void _outCreateStatsStmt ( StringInfo  str,
const CreateStatsStmt node 
)
static

Definition at line 2711 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2712 {
2713  WRITE_NODE_TYPE("CREATESTATSSTMT");
2714 
2715  WRITE_NODE_FIELD(defnames);
2716  WRITE_NODE_FIELD(stat_types);
2717  WRITE_NODE_FIELD(exprs);
2718  WRITE_NODE_FIELD(relations);
2719  WRITE_STRING_FIELD(stxcomment);
2720  WRITE_BOOL_FIELD(if_not_exists);
2721 }
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCreateStmt()

static void _outCreateStmt ( StringInfo  str,
const CreateStmt node 
)
static

Definition at line 2649 of file outfuncs.c.

References _outCreateStmtInfo(), and WRITE_NODE_TYPE.

Referenced by outNode().

2650 {
2651  WRITE_NODE_TYPE("CREATESTMT");
2652 
2653  _outCreateStmtInfo(str, (const CreateStmt *) node);
2654 }
static void _outCreateStmtInfo(StringInfo str, const CreateStmt *node)
Definition: outfuncs.c:2632
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outCreateStmtInfo()

static void _outCreateStmtInfo ( StringInfo  str,
const CreateStmt node 
)
static

Definition at line 2632 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_STRING_FIELD.

Referenced by _outCreateForeignTableStmt(), and _outCreateStmt().

2633 {
2634  WRITE_NODE_FIELD(relation);
2635  WRITE_NODE_FIELD(tableElts);
2636  WRITE_NODE_FIELD(inhRelations);
2637  WRITE_NODE_FIELD(partspec);
2638  WRITE_NODE_FIELD(partbound);
2639  WRITE_NODE_FIELD(ofTypename);
2640  WRITE_NODE_FIELD(constraints);
2642  WRITE_ENUM_FIELD(oncommit, OnCommitAction);
2643  WRITE_STRING_FIELD(tablespacename);
2644  WRITE_STRING_FIELD(accessMethod);
2645  WRITE_BOOL_FIELD(if_not_exists);
2646 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
OnCommitAction
Definition: primnodes.h:47
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCteScan()

static void _outCteScan ( StringInfo  str,
const CteScan node 
)
static

Definition at line 653 of file outfuncs.c.

References _outScanInfo(), WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

654 {
655  WRITE_NODE_TYPE("CTESCAN");
656 
657  _outScanInfo(str, (const Scan *) node);
658 
659  WRITE_INT_FIELD(ctePlanId);
660  WRITE_INT_FIELD(cteParam);
661 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outCurrentOfExpr()

static void _outCurrentOfExpr ( StringInfo  str,
const CurrentOfExpr node 
)
static

Definition at line 1624 of file outfuncs.c.

References WRITE_INT_FIELD, WRITE_NODE_TYPE, WRITE_STRING_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

1625 {
1626  WRITE_NODE_TYPE("CURRENTOFEXPR");
1627 
1628  WRITE_UINT_FIELD(cvarno);
1629  WRITE_STRING_FIELD(cursor_name);
1630  WRITE_INT_FIELD(cursor_param);
1631 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95

◆ _outCustomPath()

static void _outCustomPath ( StringInfo  str,
const CustomPath node 
)
static

Definition at line 1854 of file outfuncs.c.

References _outPathInfo(), appendStringInfoString(), outToken(), WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

1855 {
1856  WRITE_NODE_TYPE("CUSTOMPATH");
1857 
1858  _outPathInfo(str, (const Path *) node);
1859 
1860  WRITE_UINT_FIELD(flags);
1861  WRITE_NODE_FIELD(custom_paths);
1862  WRITE_NODE_FIELD(custom_private);
1863  appendStringInfoString(str, " :methods ");
1864  outToken(str, node->methods->CustomName);
1865 }
void outToken(StringInfo str, const char *s)
Definition: outfuncs.c:153
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
const struct CustomPathMethods * methods
Definition: pathnodes.h:1385
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
const char * CustomName
Definition: extensible.h:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outCustomScan()

static void _outCustomScan ( StringInfo  str,
const CustomScan node 
)
static

Definition at line 702 of file outfuncs.c.

References _outScanInfo(), appendStringInfoString(), outToken(), WRITE_BITMAPSET_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

703 {
704  WRITE_NODE_TYPE("CUSTOMSCAN");
705 
706  _outScanInfo(str, (const Scan *) node);
707 
708  WRITE_UINT_FIELD(flags);
709  WRITE_NODE_FIELD(custom_plans);
710  WRITE_NODE_FIELD(custom_exprs);
711  WRITE_NODE_FIELD(custom_private);
712  WRITE_NODE_FIELD(custom_scan_tlist);
713  WRITE_BITMAPSET_FIELD(custom_relids);
714  /* CustomName is a key to lookup CustomScanMethods */
715  appendStringInfoString(str, " :methods ");
716  outToken(str, node->methods->CustomName);
717 }
void outToken(StringInfo str, const char *s)
Definition: outfuncs.c:153
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
const struct CustomScanMethods * methods
Definition: plannodes.h:650
const char * CustomName
Definition: extensible.h:110
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outDeclareCursorStmt()

static void _outDeclareCursorStmt ( StringInfo  str,
const DeclareCursorStmt node 
)
static

Definition at line 2743 of file outfuncs.c.

References WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2744 {
2745  WRITE_NODE_TYPE("DECLARECURSOR");
2746 
2747  WRITE_STRING_FIELD(portalname);
2749  WRITE_NODE_FIELD(query);
2750 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outDefElem()

static void _outDefElem ( StringInfo  str,
const DefElem node 
)
static

Definition at line 2809 of file outfuncs.c.

References arg, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2810 {
2811  WRITE_NODE_TYPE("DEFELEM");
2812 
2813  WRITE_STRING_FIELD(defnamespace);
2814  WRITE_STRING_FIELD(defname);
2816  WRITE_ENUM_FIELD(defaction, DefElemAction);
2817  WRITE_LOCATION_FIELD(location);
2818 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
DefElemAction
Definition: parsenodes.h:721
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outDistinctExpr()

static void _outDistinctExpr ( StringInfo  str,
const DistinctExpr node 
)
static

Definition at line 1249 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_BOOL_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1250 {
1251  WRITE_NODE_TYPE("DISTINCTEXPR");
1252 
1253  WRITE_OID_FIELD(opno);
1254  WRITE_OID_FIELD(opfuncid);
1255  WRITE_OID_FIELD(opresulttype);
1256  WRITE_BOOL_FIELD(opretset);
1257  WRITE_OID_FIELD(opcollid);
1258  WRITE_OID_FIELD(inputcollid);
1260  WRITE_LOCATION_FIELD(location);
1261 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outEquivalenceClass()

static void _outEquivalenceClass ( StringInfo  str,
const EquivalenceClass node 
)
static

Definition at line 2398 of file outfuncs.c.

References EquivalenceClass::ec_merged, WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

2399 {
2400  /*
2401  * To simplify reading, we just chase up to the topmost merged EC and
2402  * print that, without bothering to show the merge-ees separately.
2403  */
2404  while (node->ec_merged)
2405  node = node->ec_merged;
2406 
2407  WRITE_NODE_TYPE("EQUIVALENCECLASS");
2408 
2409  WRITE_NODE_FIELD(ec_opfamilies);
2410  WRITE_OID_FIELD(ec_collation);
2411  WRITE_NODE_FIELD(ec_members);
2412  WRITE_NODE_FIELD(ec_sources);
2413  WRITE_NODE_FIELD(ec_derives);
2414  WRITE_BITMAPSET_FIELD(ec_relids);
2415  WRITE_BOOL_FIELD(ec_has_const);
2416  WRITE_BOOL_FIELD(ec_has_volatile);
2417  WRITE_BOOL_FIELD(ec_below_outer_join);
2418  WRITE_BOOL_FIELD(ec_broken);
2419  WRITE_UINT_FIELD(ec_sortref);
2420  WRITE_UINT_FIELD(ec_min_security);
2421  WRITE_UINT_FIELD(ec_max_security);
2422 }
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
struct EquivalenceClass * ec_merged
Definition: pathnodes.h:980
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outEquivalenceMember()

static void _outEquivalenceMember ( StringInfo  str,
const EquivalenceMember node 
)
static

Definition at line 2425 of file outfuncs.c.

References WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

2426 {
2427  WRITE_NODE_TYPE("EQUIVALENCEMEMBER");
2428 
2429  WRITE_NODE_FIELD(em_expr);
2430  WRITE_BITMAPSET_FIELD(em_relids);
2431  WRITE_BITMAPSET_FIELD(em_nullable_relids);
2432  WRITE_BOOL_FIELD(em_is_const);
2433  WRITE_BOOL_FIELD(em_is_child);
2434  WRITE_OID_FIELD(em_datatype);
2435 }
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outExtensibleNode()

static void _outExtensibleNode ( StringInfo  str,
const ExtensibleNode node 
)
static

Definition at line 2608 of file outfuncs.c.

References ExtensibleNode::extnodename, GetExtensibleNodeMethods(), ExtensibleNodeMethods::nodeOut, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2609 {
2610  const ExtensibleNodeMethods *methods;
2611 
2612  methods = GetExtensibleNodeMethods(node->extnodename, false);
2613 
2614  WRITE_NODE_TYPE("EXTENSIBLENODE");
2615 
2616  WRITE_STRING_FIELD(extnodename);
2617 
2618  /* serialize the private fields */
2619  methods->nodeOut(str, node);
2620 }
const char * extnodename
Definition: extensible.h:35
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
void(* nodeOut)(struct StringInfoData *str, const struct ExtensibleNode *node)
Definition: extensible.h:68
const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *extnodename, bool missing_ok)
Definition: extensible.c:125

◆ _outFieldSelect()

static void _outFieldSelect ( StringInfo  str,
const FieldSelect node 
)
static

Definition at line 1363 of file outfuncs.c.

References arg, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1364 {
1365  WRITE_NODE_TYPE("FIELDSELECT");
1366 
1368  WRITE_INT_FIELD(fieldnum);
1369  WRITE_OID_FIELD(resulttype);
1370  WRITE_INT_FIELD(resulttypmod);
1371  WRITE_OID_FIELD(resultcollid);
1372 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outFieldStore()

static void _outFieldStore ( StringInfo  str,
const FieldStore node 
)
static

Definition at line 1375 of file outfuncs.c.

References arg, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1376 {
1377  WRITE_NODE_TYPE("FIELDSTORE");
1378 
1380  WRITE_NODE_FIELD(newvals);
1381  WRITE_NODE_FIELD(fieldnums);
1382  WRITE_OID_FIELD(resulttype);
1383 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outForeignKeyCacheInfo()

static void _outForeignKeyCacheInfo ( StringInfo  str,
const ForeignKeyCacheInfo node 
)
static

Definition at line 3638 of file outfuncs.c.

References ForeignKeyCacheInfo::nkeys, WRITE_ATTRNUMBER_ARRAY, WRITE_INT_FIELD, WRITE_NODE_TYPE, WRITE_OID_ARRAY, and WRITE_OID_FIELD.

Referenced by outNode().

3639 {
3640  WRITE_NODE_TYPE("FOREIGNKEYCACHEINFO");
3641 
3642  WRITE_OID_FIELD(conoid);
3643  WRITE_OID_FIELD(conrelid);
3644  WRITE_OID_FIELD(confrelid);
3645  WRITE_INT_FIELD(nkeys);
3646  WRITE_ATTRNUMBER_ARRAY(conkey, node->nkeys);
3647  WRITE_ATTRNUMBER_ARRAY(confkey, node->nkeys);
3648  WRITE_OID_ARRAY(conpfeqop, node->nkeys);
3649 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outForeignKeyOptInfo()

static void _outForeignKeyOptInfo ( StringInfo  str,
const ForeignKeyOptInfo node 
)
static

Definition at line 2360 of file outfuncs.c.

References appendStringInfo(), appendStringInfoString(), ForeignKeyOptInfo::eclass, i, list_length(), ForeignKeyOptInfo::nkeys, ForeignKeyOptInfo::rinfos, WRITE_ATTRNUMBER_ARRAY, WRITE_INT_FIELD, WRITE_NODE_TYPE, WRITE_OID_ARRAY, and WRITE_UINT_FIELD.

Referenced by outNode().

2361 {
2362  int i;
2363 
2364  WRITE_NODE_TYPE("FOREIGNKEYOPTINFO");
2365 
2366  WRITE_UINT_FIELD(con_relid);
2367  WRITE_UINT_FIELD(ref_relid);
2368  WRITE_INT_FIELD(nkeys);
2369  WRITE_ATTRNUMBER_ARRAY(conkey, node->nkeys);
2370  WRITE_ATTRNUMBER_ARRAY(confkey, node->nkeys);
2371  WRITE_OID_ARRAY(conpfeqop, node->nkeys);
2372  WRITE_INT_FIELD(nmatched_ec);
2373  WRITE_INT_FIELD(nconst_ec);
2374  WRITE_INT_FIELD(nmatched_rcols);
2375  WRITE_INT_FIELD(nmatched_ri);
2376  /* for compactness, just print the number of matches per column: */
2377  appendStringInfoString(str, " :eclass");
2378  for (i = 0; i < node->nkeys; i++)
2379  appendStringInfo(str, " %d", (node->eclass[i] != NULL));
2380  appendStringInfoString(str, " :rinfos");
2381  for (i = 0; i < node->nkeys; i++)
2382  appendStringInfo(str, " %d", list_length(node->rinfos[i]));
2383 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
struct EquivalenceClass * eclass[INDEX_MAX_KEYS]
Definition: pathnodes.h:898
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static int list_length(const List *l)
Definition: pg_list.h:149
int i
List * rinfos[INDEX_MAX_KEYS]
Definition: pathnodes.h:902

◆ _outForeignPath()

static void _outForeignPath ( StringInfo  str,
const ForeignPath node 
)
static

Definition at line 1843 of file outfuncs.c.

References _outPathInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1844 {
1845  WRITE_NODE_TYPE("FOREIGNPATH");
1846 
1847  _outPathInfo(str, (const Path *) node);
1848 
1849  WRITE_NODE_FIELD(fdw_outerpath);
1850  WRITE_NODE_FIELD(fdw_private);
1851 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outForeignScan()

static void _outForeignScan ( StringInfo  str,
const ForeignScan node 
)
static

Definition at line 684 of file outfuncs.c.

References _outScanInfo(), WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

685 {
686  WRITE_NODE_TYPE("FOREIGNSCAN");
687 
688  _outScanInfo(str, (const Scan *) node);
689 
690  WRITE_ENUM_FIELD(operation, CmdType);
691  WRITE_OID_FIELD(fs_server);
692  WRITE_NODE_FIELD(fdw_exprs);
693  WRITE_NODE_FIELD(fdw_private);
694  WRITE_NODE_FIELD(fdw_scan_tlist);
695  WRITE_NODE_FIELD(fdw_recheck_quals);
696  WRITE_BITMAPSET_FIELD(fs_relids);
697  WRITE_BOOL_FIELD(fsSystemCol);
698  WRITE_INT_FIELD(resultRelation);
699 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
CmdType
Definition: nodes.h:671
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outFromExpr()

static void _outFromExpr ( StringInfo  str,
const FromExpr node 
)
static

Definition at line 1690 of file outfuncs.c.

References WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1691 {
1692  WRITE_NODE_TYPE("FROMEXPR");
1693 
1694  WRITE_NODE_FIELD(fromlist);
1695  WRITE_NODE_FIELD(quals);
1696 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outFuncCall()

static void _outFuncCall ( StringInfo  str,
const FuncCall node 
)
static

Definition at line 2791 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2792 {
2793  WRITE_NODE_TYPE("FUNCCALL");
2794 
2795  WRITE_NODE_FIELD(funcname);
2797  WRITE_NODE_FIELD(agg_order);
2798  WRITE_NODE_FIELD(agg_filter);
2799  WRITE_NODE_FIELD(over);
2800  WRITE_BOOL_FIELD(agg_within_group);
2801  WRITE_BOOL_FIELD(agg_star);
2802  WRITE_BOOL_FIELD(agg_distinct);
2803  WRITE_BOOL_FIELD(func_variadic);
2804  WRITE_ENUM_FIELD(funcformat, CoercionForm);
2805  WRITE_LOCATION_FIELD(location);
2806 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
CoercionForm
Definition: primnodes.h:476
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outFuncExpr()

static void _outFuncExpr ( StringInfo  str,
const FuncExpr node 
)
static

Definition at line 1207 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1208 {
1209  WRITE_NODE_TYPE("FUNCEXPR");
1210 
1211  WRITE_OID_FIELD(funcid);
1212  WRITE_OID_FIELD(funcresulttype);
1213  WRITE_BOOL_FIELD(funcretset);
1214  WRITE_BOOL_FIELD(funcvariadic);
1215  WRITE_ENUM_FIELD(funcformat, CoercionForm);
1216  WRITE_OID_FIELD(funccollid);
1217  WRITE_OID_FIELD(inputcollid);
1219  WRITE_LOCATION_FIELD(location);
1220 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
CoercionForm
Definition: primnodes.h:476
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outFunctionScan()

static void _outFunctionScan ( StringInfo  str,
const FunctionScan node 
)
static

Definition at line 622 of file outfuncs.c.

References _outScanInfo(), functions, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

623 {
624  WRITE_NODE_TYPE("FUNCTIONSCAN");
625 
626  _outScanInfo(str, (const Scan *) node);
627 
629  WRITE_BOOL_FIELD(funcordinality);
630 }
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static const struct fns functions
Definition: regcomp.c:298
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGather()

static void _outGather ( StringInfo  str,
const Gather node 
)
static

Definition at line 492 of file outfuncs.c.

References _outPlanInfo(), WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

493 {
494  WRITE_NODE_TYPE("GATHER");
495 
496  _outPlanInfo(str, (const Plan *) node);
497 
498  WRITE_INT_FIELD(num_workers);
499  WRITE_INT_FIELD(rescan_param);
500  WRITE_BOOL_FIELD(single_copy);
501  WRITE_BOOL_FIELD(invisible);
502  WRITE_BITMAPSET_FIELD(initParam);
503 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outGatherMerge()

static void _outGatherMerge ( StringInfo  str,
const GatherMerge node 
)
static

Definition at line 506 of file outfuncs.c.

References _outPlanInfo(), WRITE_ATTRNUMBER_ARRAY, WRITE_BITMAPSET_FIELD, WRITE_BOOL_ARRAY, WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

507 {
508  WRITE_NODE_TYPE("GATHERMERGE");
509 
510  _outPlanInfo(str, (const Plan *) node);
511 
512  WRITE_INT_FIELD(num_workers);
513  WRITE_INT_FIELD(rescan_param);
514  WRITE_INT_FIELD(numCols);
515  WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
516  WRITE_OID_ARRAY(sortOperators, node->numCols);
517  WRITE_OID_ARRAY(collations, node->numCols);
518  WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
519  WRITE_BITMAPSET_FIELD(initParam);
520 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_BOOL_ARRAY(fldname, len)
Definition: outfuncs.c:134
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outGatherMergePath()

static void _outGatherMergePath ( StringInfo  str,
const GatherMergePath node 
)
static

Definition at line 2159 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2160 {
2161  WRITE_NODE_TYPE("GATHERMERGEPATH");
2162 
2163  _outPathInfo(str, (const Path *) node);
2164 
2166  WRITE_INT_FIELD(num_workers);
2167 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGatherPath()

static void _outGatherPath ( StringInfo  str,
const GatherPath node 
)
static

Definition at line 1926 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1927 {
1928  WRITE_NODE_TYPE("GATHERPATH");
1929 
1930  _outPathInfo(str, (const Path *) node);
1931 
1933  WRITE_BOOL_FIELD(single_copy);
1934  WRITE_INT_FIELD(num_workers);
1935 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGroup()

static void _outGroup ( StringInfo  str,
const Group node 
)
static

Definition at line 817 of file outfuncs.c.

References _outPlanInfo(), WRITE_ATTRNUMBER_ARRAY, WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

818 {
819  WRITE_NODE_TYPE("GROUP");
820 
821  _outPlanInfo(str, (const Plan *) node);
822 
823  WRITE_INT_FIELD(numCols);
824  WRITE_ATTRNUMBER_ARRAY(grpColIdx, node->numCols);
825  WRITE_OID_ARRAY(grpOperators, node->numCols);
826  WRITE_OID_ARRAY(grpCollations, node->numCols);
827 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
int numCols
Definition: plannodes.h:796
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outGroupingFunc()

static void _outGroupingFunc ( StringInfo  str,
const GroupingFunc node 
)
static

Definition at line 1162 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

1163 {
1164  WRITE_NODE_TYPE("GROUPINGFUNC");
1165 
1167  WRITE_NODE_FIELD(refs);
1168  WRITE_NODE_FIELD(cols);
1169  WRITE_UINT_FIELD(agglevelsup);
1170  WRITE_LOCATION_FIELD(location);
1171 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGroupingSet()

static void _outGroupingSet ( StringInfo  str,
const GroupingSet node 
)
static

Definition at line 3029 of file outfuncs.c.

References WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3030 {
3031  WRITE_NODE_TYPE("GROUPINGSET");
3032 
3034  WRITE_NODE_FIELD(content);
3035  WRITE_LOCATION_FIELD(location);
3036 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
GroupingSetKind
Definition: parsenodes.h:1319
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGroupingSetData()

static void _outGroupingSetData ( StringInfo  str,
const GroupingSetData node 
)
static

Definition at line 2037 of file outfuncs.c.

References WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2038 {
2039  WRITE_NODE_TYPE("GSDATA");
2040 
2041  WRITE_NODE_FIELD(set);
2042  WRITE_FLOAT_FIELD(numGroups, "%.0f");
2043 }
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGroupingSetsPath()

static void _outGroupingSetsPath ( StringInfo  str,
const GroupingSetsPath node 
)
static

Definition at line 2046 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT64_FIELD.

Referenced by outNode().

2047 {
2048  WRITE_NODE_TYPE("GROUPINGSETSPATH");
2049 
2050  _outPathInfo(str, (const Path *) node);
2051 
2053  WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
2054  WRITE_NODE_FIELD(rollups);
2055  WRITE_NODE_FIELD(qual);
2056  WRITE_UINT64_FIELD(transitionSpace);
2057 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_UINT64_FIELD(fldname)
Definition: outfuncs.c:63
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
AggStrategy
Definition: nodes.h:757
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGroupPath()

static void _outGroupPath ( StringInfo  str,
const GroupPath node 
)
static

Definition at line 1985 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1986 {
1987  WRITE_NODE_TYPE("GROUPPATH");
1988 
1989  _outPathInfo(str, (const Path *) node);
1990 
1992  WRITE_NODE_FIELD(groupClause);
1993  WRITE_NODE_FIELD(qual);
1994 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outGroupResultPath()

static void _outGroupResultPath ( StringInfo  str,
const GroupResultPath node 
)
static

Definition at line 1893 of file outfuncs.c.

References _outPathInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1894 {
1895  WRITE_NODE_TYPE("GROUPRESULTPATH");
1896 
1897  _outPathInfo(str, (const Path *) node);
1898 
1899  WRITE_NODE_FIELD(quals);
1900 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outHash()

static void _outHash ( StringInfo  str,
const Hash node 
)
static

Definition at line 881 of file outfuncs.c.

References _outPlanInfo(), WRITE_BOOL_FIELD, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

882 {
883  WRITE_NODE_TYPE("HASH");
884 
885  _outPlanInfo(str, (const Plan *) node);
886 
887  WRITE_NODE_FIELD(hashkeys);
888  WRITE_OID_FIELD(skewTable);
889  WRITE_INT_FIELD(skewColumn);
890  WRITE_BOOL_FIELD(skewInherit);
891  WRITE_FLOAT_FIELD(rows_total, "%.0f");
892 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outHashJoin()

static void _outHashJoin ( StringInfo  str,
const HashJoin node 
)
static

Definition at line 758 of file outfuncs.c.

References _outJoinPlanInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

759 {
760  WRITE_NODE_TYPE("HASHJOIN");
761 
762  _outJoinPlanInfo(str, (const Join *) node);
763 
764  WRITE_NODE_FIELD(hashclauses);
765  WRITE_NODE_FIELD(hashoperators);
766  WRITE_NODE_FIELD(hashcollations);
767  WRITE_NODE_FIELD(hashkeys);
768 }
static void _outJoinPlanInfo(StringInfo str, const Join *node)
Definition: outfuncs.c:361
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outHashPath()

static void _outHashPath ( StringInfo  str,
const HashPath node 
)
static

Definition at line 2192 of file outfuncs.c.

References _outJoinPathInfo(), WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2193 {
2194  WRITE_NODE_TYPE("HASHPATH");
2195 
2196  _outJoinPathInfo(str, (const JoinPath *) node);
2197 
2198  WRITE_NODE_FIELD(path_hashclauses);
2199  WRITE_INT_FIELD(num_batches);
2200  WRITE_FLOAT_FIELD(inner_rows_total, "%.0f");
2201 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
static void _outJoinPathInfo(StringInfo str, const JoinPath *node)
Definition: outfuncs.c:1755
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outImportForeignSchemaStmt()

static void _outImportForeignSchemaStmt ( StringInfo  str,
const ImportForeignSchemaStmt node 
)
static

Definition at line 2668 of file outfuncs.c.

References WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2669 {
2670  WRITE_NODE_TYPE("IMPORTFOREIGNSCHEMASTMT");
2671 
2672  WRITE_STRING_FIELD(server_name);
2673  WRITE_STRING_FIELD(remote_schema);
2674  WRITE_STRING_FIELD(local_schema);
2676  WRITE_NODE_FIELD(table_list);
2678 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
ImportForeignSchemaType
Definition: parsenodes.h:2379
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIncrementalSort()

static void _outIncrementalSort ( StringInfo  str,
const IncrementalSort node 
)
static

Definition at line 858 of file outfuncs.c.

References _outSortInfo(), WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

859 {
860  WRITE_NODE_TYPE("INCREMENTALSORT");
861 
862  _outSortInfo(str, (const Sort *) node);
863 
864  WRITE_INT_FIELD(nPresortedCols);
865 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
static void _outSortInfo(StringInfo str, const Sort *node)
Definition: outfuncs.c:838
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outIncrementalSortPath()

static void _outIncrementalSortPath ( StringInfo  str,
const IncrementalSortPath node 
)
static

Definition at line 1975 of file outfuncs.c.

References _outSortPathInfo(), WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1976 {
1977  WRITE_NODE_TYPE("INCREMENTALSORTPATH");
1978 
1979  _outSortPathInfo(str, (const SortPath *) node);
1980 
1981  WRITE_INT_FIELD(nPresortedCols);
1982 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outSortPathInfo(StringInfo str, const SortPath *node)
Definition: outfuncs.c:1959

◆ _outIndexClause()

static void _outIndexClause ( StringInfo  str,
const IndexClause node 
)
static

Definition at line 2510 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2511 {
2512  WRITE_NODE_TYPE("INDEXCLAUSE");
2513 
2514  WRITE_NODE_FIELD(rinfo);
2515  WRITE_NODE_FIELD(indexquals);
2516  WRITE_BOOL_FIELD(lossy);
2517  WRITE_INT_FIELD(indexcol);
2518  WRITE_NODE_FIELD(indexcols);
2519 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIndexElem()

static void _outIndexElem ( StringInfo  str,
const IndexElem node 
)
static

Definition at line 2921 of file outfuncs.c.

References name, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2922 {
2923  WRITE_NODE_TYPE("INDEXELEM");
2924 
2926  WRITE_NODE_FIELD(expr);
2927  WRITE_STRING_FIELD(indexcolname);
2928  WRITE_NODE_FIELD(collation);
2929  WRITE_NODE_FIELD(opclass);
2930  WRITE_NODE_FIELD(opclassopts);
2931  WRITE_ENUM_FIELD(ordering, SortByDir);
2932  WRITE_ENUM_FIELD(nulls_ordering, SortByNulls);
2933 }
SortByDir
Definition: parsenodes.h:50
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
SortByNulls
Definition: parsenodes.h:58
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
const char * name
Definition: encode.c:515
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIndexOnlyScan()

static void _outIndexOnlyScan ( StringInfo  str,
const IndexOnlyScan node 
)
static

Definition at line 565 of file outfuncs.c.

References _outScanInfo(), WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

566 {
567  WRITE_NODE_TYPE("INDEXONLYSCAN");
568 
569  _outScanInfo(str, (const Scan *) node);
570 
571  WRITE_OID_FIELD(indexid);
572  WRITE_NODE_FIELD(indexqual);
573  WRITE_NODE_FIELD(indexorderby);
574  WRITE_NODE_FIELD(indextlist);
575  WRITE_ENUM_FIELD(indexorderdir, ScanDirection);
576 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
ScanDirection
Definition: sdir.h:22
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIndexOptInfo()

static void _outIndexOptInfo ( StringInfo  str,
const IndexOptInfo node 
)
static

Definition at line 2335 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

2336 {
2337  WRITE_NODE_TYPE("INDEXOPTINFO");
2338 
2339  /* NB: this isn't a complete set of fields */
2340  WRITE_OID_FIELD(indexoid);
2341  /* Do NOT print rel field, else infinite recursion */
2342  WRITE_UINT_FIELD(pages);
2343  WRITE_FLOAT_FIELD(tuples, "%.0f");
2344  WRITE_INT_FIELD(tree_height);
2345  WRITE_INT_FIELD(ncolumns);
2346  /* array fields aren't really worth the trouble to print */
2347  WRITE_OID_FIELD(relam);
2348  /* indexprs is redundant since we print indextlist */
2349  WRITE_NODE_FIELD(indpred);
2350  WRITE_NODE_FIELD(indextlist);
2351  WRITE_NODE_FIELD(indrestrictinfo);
2352  WRITE_BOOL_FIELD(predOK);
2353  WRITE_BOOL_FIELD(unique);
2354  WRITE_BOOL_FIELD(immediate);
2355  WRITE_BOOL_FIELD(hypothetical);
2356  /* we don't bother with fields copied from the index AM's API struct */
2357 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIndexPath()

static void _outIndexPath ( StringInfo  str,
const IndexPath node 
)
static

Definition at line 1775 of file outfuncs.c.

References _outPathInfo(), WRITE_ENUM_FIELD, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1776 {
1777  WRITE_NODE_TYPE("INDEXPATH");
1778 
1779  _outPathInfo(str, (const Path *) node);
1780 
1781  WRITE_NODE_FIELD(indexinfo);
1782  WRITE_NODE_FIELD(indexclauses);
1783  WRITE_NODE_FIELD(indexorderbys);
1784  WRITE_NODE_FIELD(indexorderbycols);
1785  WRITE_ENUM_FIELD(indexscandir, ScanDirection);
1786  WRITE_FLOAT_FIELD(indextotalcost, "%.2f");
1787  WRITE_FLOAT_FIELD(indexselectivity, "%.4f");
1788 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
ScanDirection
Definition: sdir.h:22
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIndexScan()

static void _outIndexScan ( StringInfo  str,
const IndexScan node 
)
static

Definition at line 549 of file outfuncs.c.

References _outScanInfo(), WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

550 {
551  WRITE_NODE_TYPE("INDEXSCAN");
552 
553  _outScanInfo(str, (const Scan *) node);
554 
555  WRITE_OID_FIELD(indexid);
556  WRITE_NODE_FIELD(indexqual);
557  WRITE_NODE_FIELD(indexqualorig);
558  WRITE_NODE_FIELD(indexorderby);
559  WRITE_NODE_FIELD(indexorderbyorig);
560  WRITE_NODE_FIELD(indexorderbyops);
561  WRITE_ENUM_FIELD(indexorderdir, ScanDirection);
562 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
ScanDirection
Definition: sdir.h:22
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIndexStmt()

static void _outIndexStmt ( StringInfo  str,
const IndexStmt node 
)
static

Definition at line 2681 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, WRITE_STRING_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

2682 {
2683  WRITE_NODE_TYPE("INDEXSTMT");
2684 
2685  WRITE_STRING_FIELD(idxname);
2686  WRITE_NODE_FIELD(relation);
2687  WRITE_STRING_FIELD(accessMethod);
2688  WRITE_STRING_FIELD(tableSpace);
2689  WRITE_NODE_FIELD(indexParams);
2690  WRITE_NODE_FIELD(indexIncludingParams);
2692  WRITE_NODE_FIELD(whereClause);
2693  WRITE_NODE_FIELD(excludeOpNames);
2694  WRITE_STRING_FIELD(idxcomment);
2695  WRITE_OID_FIELD(indexOid);
2696  WRITE_OID_FIELD(oldNode);
2697  WRITE_UINT_FIELD(oldCreateSubid);
2698  WRITE_UINT_FIELD(oldFirstRelfilenodeSubid);
2699  WRITE_BOOL_FIELD(unique);
2700  WRITE_BOOL_FIELD(primary);
2701  WRITE_BOOL_FIELD(isconstraint);
2702  WRITE_BOOL_FIELD(deferrable);
2703  WRITE_BOOL_FIELD(initdeferred);
2704  WRITE_BOOL_FIELD(transformed);
2705  WRITE_BOOL_FIELD(concurrent);
2706  WRITE_BOOL_FIELD(if_not_exists);
2707  WRITE_BOOL_FIELD(reset_default_tblspc);
2708 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outInferenceElem()

static void _outInferenceElem ( StringInfo  str,
const InferenceElem node 
)
static

Definition at line 1643 of file outfuncs.c.

References WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1644 {
1645  WRITE_NODE_TYPE("INFERENCEELEM");
1646 
1647  WRITE_NODE_FIELD(expr);
1648  WRITE_OID_FIELD(infercollid);
1649  WRITE_OID_FIELD(inferopclass);
1650 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outIntoClause()

static void _outIntoClause ( StringInfo  str,
const IntoClause node 
)
static

Definition at line 1072 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

1073 {
1074  WRITE_NODE_TYPE("INTOCLAUSE");
1075 
1076  WRITE_NODE_FIELD(rel);
1077  WRITE_NODE_FIELD(colNames);
1078  WRITE_STRING_FIELD(accessMethod);
1080  WRITE_ENUM_FIELD(onCommit, OnCommitAction);
1081  WRITE_STRING_FIELD(tableSpaceName);
1082  WRITE_NODE_FIELD(viewQuery);
1083  WRITE_BOOL_FIELD(skipData);
1084 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
OnCommitAction
Definition: primnodes.h:47
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outJoin()

static void _outJoin ( StringInfo  str,
const Join node 
)
static

Definition at line 720 of file outfuncs.c.

References _outJoinPlanInfo(), and WRITE_NODE_TYPE.

Referenced by outNode().

721 {
722  WRITE_NODE_TYPE("JOIN");
723 
724  _outJoinPlanInfo(str, (const Join *) node);
725 }
static void _outJoinPlanInfo(StringInfo str, const Join *node)
Definition: outfuncs.c:361
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outJoinExpr()

static void _outJoinExpr ( StringInfo  str,
const JoinExpr node 
)
static

Definition at line 1675 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1676 {
1677  WRITE_NODE_TYPE("JOINEXPR");
1678 
1679  WRITE_ENUM_FIELD(jointype, JoinType);
1680  WRITE_BOOL_FIELD(isNatural);
1681  WRITE_NODE_FIELD(larg);
1682  WRITE_NODE_FIELD(rarg);
1683  WRITE_NODE_FIELD(usingClause);
1684  WRITE_NODE_FIELD(quals);
1685  WRITE_NODE_FIELD(alias);
1686  WRITE_INT_FIELD(rtindex);
1687 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
JoinType
Definition: nodes.h:695
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outJoinPathInfo()

static void _outJoinPathInfo ( StringInfo  str,
const JoinPath node 
)
static

Definition at line 1755 of file outfuncs.c.

References _outPathInfo(), WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, and WRITE_NODE_FIELD.

Referenced by _outHashPath(), _outMergePath(), and _outNestPath().

1756 {
1757  _outPathInfo(str, (const Path *) node);
1758 
1759  WRITE_ENUM_FIELD(jointype, JoinType);
1760  WRITE_BOOL_FIELD(inner_unique);
1761  WRITE_NODE_FIELD(outerjoinpath);
1762  WRITE_NODE_FIELD(innerjoinpath);
1763  WRITE_NODE_FIELD(joinrestrictinfo);
1764 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
JoinType
Definition: nodes.h:695
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outJoinPlanInfo()

static void _outJoinPlanInfo ( StringInfo  str,
const Join node 
)
static

Definition at line 361 of file outfuncs.c.

References _outPlanInfo(), WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, and WRITE_NODE_FIELD.

Referenced by _outHashJoin(), _outJoin(), _outMergeJoin(), and _outNestLoop().

362 {
363  _outPlanInfo(str, (const Plan *) node);
364 
365  WRITE_ENUM_FIELD(jointype, JoinType);
366  WRITE_BOOL_FIELD(inner_unique);
367  WRITE_NODE_FIELD(joinqual);
368 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
JoinType
Definition: nodes.h:695
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outLimit()

static void _outLimit ( StringInfo  str,
const Limit node 
)
static

Definition at line 924 of file outfuncs.c.

References _outPlanInfo(), WRITE_ATTRNUMBER_ARRAY, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

925 {
926  WRITE_NODE_TYPE("LIMIT");
927 
928  _outPlanInfo(str, (const Plan *) node);
929 
930  WRITE_NODE_FIELD(limitOffset);
931  WRITE_NODE_FIELD(limitCount);
932  WRITE_ENUM_FIELD(limitOption, LimitOption);
933  WRITE_INT_FIELD(uniqNumCols);
934  WRITE_ATTRNUMBER_ARRAY(uniqColIdx, node->uniqNumCols);
935  WRITE_OID_ARRAY(uniqOperators, node->uniqNumCols);
936  WRITE_OID_ARRAY(uniqCollations, node->uniqNumCols);
937 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
int uniqNumCols
Definition: plannodes.h:986
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
LimitOption
Definition: nodes.h:834
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outLimitPath()

static void _outLimitPath ( StringInfo  str,
const LimitPath node 
)
static

Definition at line 2146 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2147 {
2148  WRITE_NODE_TYPE("LIMITPATH");
2149 
2150  _outPathInfo(str, (const Path *) node);
2151 
2153  WRITE_NODE_FIELD(limitOffset);
2154  WRITE_NODE_FIELD(limitCount);
2155  WRITE_ENUM_FIELD(limitOption, LimitOption);
2156 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
LimitOption
Definition: nodes.h:834
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outList()

static void _outList ( StringInfo  str,
const List node 
)
static

Definition at line 200 of file outfuncs.c.

References appendStringInfo(), appendStringInfoChar(), elog, ERROR, IsA, lfirst, lfirst_int, lfirst_oid, lnext(), outNode(), and List::type.

Referenced by outNode().

201 {
202  const ListCell *lc;
203 
204  appendStringInfoChar(str, '(');
205 
206  if (IsA(node, IntList))
207  appendStringInfoChar(str, 'i');
208  else if (IsA(node, OidList))
209  appendStringInfoChar(str, 'o');
210 
211  foreach(lc, node)
212  {
213  /*
214  * For the sake of backward compatibility, we emit a slightly
215  * different whitespace format for lists of nodes vs. other types of
216  * lists. XXX: is this necessary?
217  */
218  if (IsA(node, List))
219  {
220  outNode(str, lfirst(lc));
221  if (lnext(node, lc))
222  appendStringInfoChar(str, ' ');
223  }
224  else if (IsA(node, IntList))
225  appendStringInfo(str, " %d", lfirst_int(lc));
226  else if (IsA(node, OidList))
227  appendStringInfo(str, " %u", lfirst_oid(lc));
228  else
229  elog(ERROR, "unrecognized list node type: %d",
230  (int) node->type);
231  }
232 
233  appendStringInfoChar(str, ')');
234 }
#define IsA(nodeptr, _type_)
Definition: nodes.h:579
static ListCell * lnext(const List *l, const ListCell *c)
Definition: pg_list.h:322
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91
#define ERROR
Definition: elog.h:45
#define lfirst_int(lc)
Definition: pg_list.h:170
void appendStringInfoChar(StringInfo str, char ch)
Definition: stringinfo.c:188
void outNode(StringInfo str, const void *obj)
Definition: outfuncs.c:3703
#define lfirst(lc)
Definition: pg_list.h:169
NodeTag type
Definition: pg_list.h:52
#define elog(elevel,...)
Definition: elog.h:228
Definition: pg_list.h:50
#define lfirst_oid(lc)
Definition: pg_list.h:171

◆ _outLockingClause()

static void _outLockingClause ( StringInfo  str,
const LockingClause node 
)
static

Definition at line 2831 of file outfuncs.c.

References WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2832 {
2833  WRITE_NODE_TYPE("LOCKINGCLAUSE");
2834 
2835  WRITE_NODE_FIELD(lockedRels);
2837  WRITE_ENUM_FIELD(waitPolicy, LockWaitPolicy);
2838 }
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
LockClauseStrength
Definition: lockoptions.h:21
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
LockWaitPolicy
Definition: lockoptions.h:36
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outLockRows()

static void _outLockRows ( StringInfo  str,
const LockRows node 
)
static

Definition at line 913 of file outfuncs.c.

References _outPlanInfo(), WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

914 {
915  WRITE_NODE_TYPE("LOCKROWS");
916 
917  _outPlanInfo(str, (const Plan *) node);
918 
919  WRITE_NODE_FIELD(rowMarks);
920  WRITE_INT_FIELD(epqParam);
921 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outLockRowsPath()

static void _outLockRowsPath ( StringInfo  str,
const LockRowsPath node 
)
static

Definition at line 2112 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2113 {
2114  WRITE_NODE_TYPE("LOCKROWSPATH");
2115 
2116  _outPathInfo(str, (const Path *) node);
2117 
2119  WRITE_NODE_FIELD(rowMarks);
2120  WRITE_INT_FIELD(epqParam);
2121 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMaterial()

static void _outMaterial ( StringInfo  str,
const Material node 
)
static

Definition at line 830 of file outfuncs.c.

References _outPlanInfo(), and WRITE_NODE_TYPE.

Referenced by outNode().

831 {
832  WRITE_NODE_TYPE("MATERIAL");
833 
834  _outPlanInfo(str, (const Plan *) node);
835 }
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outMaterialPath()

static void _outMaterialPath ( StringInfo  str,
const MaterialPath node 
)
static

Definition at line 1903 of file outfuncs.c.

References _outPathInfo(), subpath(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1904 {
1905  WRITE_NODE_TYPE("MATERIALPATH");
1906 
1907  _outPathInfo(str, (const Path *) node);
1908 
1910 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMergeAppend()

static void _outMergeAppend ( StringInfo  str,
const MergeAppend node 
)
static

Definition at line 439 of file outfuncs.c.

References _outPlanInfo(), WRITE_ATTRNUMBER_ARRAY, WRITE_BITMAPSET_FIELD, WRITE_BOOL_ARRAY, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

440 {
441  WRITE_NODE_TYPE("MERGEAPPEND");
442 
443  _outPlanInfo(str, (const Plan *) node);
444 
445  WRITE_BITMAPSET_FIELD(apprelids);
446  WRITE_NODE_FIELD(mergeplans);
447  WRITE_INT_FIELD(numCols);
448  WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
449  WRITE_OID_ARRAY(sortOperators, node->numCols);
450  WRITE_OID_ARRAY(collations, node->numCols);
451  WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
452  WRITE_NODE_FIELD(part_prune_info);
453 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_BOOL_ARRAY(fldname, len)
Definition: outfuncs.c:134
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMergeAppendPath()

static void _outMergeAppendPath ( StringInfo  str,
const MergeAppendPath node 
)
static

Definition at line 1881 of file outfuncs.c.

References _outPathInfo(), WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1882 {
1883  WRITE_NODE_TYPE("MERGEAPPENDPATH");
1884 
1885  _outPathInfo(str, (const Path *) node);
1886 
1887  WRITE_NODE_FIELD(partitioned_rels);
1888  WRITE_NODE_FIELD(subpaths);
1889  WRITE_FLOAT_FIELD(limit_tuples, "%.0f");
1890 }
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMergeJoin()

static void _outMergeJoin ( StringInfo  str,
const MergeJoin node 
)
static

Definition at line 738 of file outfuncs.c.

References _outJoinPlanInfo(), list_length(), WRITE_BOOL_ARRAY, WRITE_BOOL_FIELD, WRITE_INT_ARRAY, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

739 {
740  int numCols;
741 
742  WRITE_NODE_TYPE("MERGEJOIN");
743 
744  _outJoinPlanInfo(str, (const Join *) node);
745 
746  WRITE_BOOL_FIELD(skip_mark_restore);
747  WRITE_NODE_FIELD(mergeclauses);
748 
749  numCols = list_length(node->mergeclauses);
750 
751  WRITE_OID_ARRAY(mergeFamilies, numCols);
752  WRITE_OID_ARRAY(mergeCollations, numCols);
753  WRITE_INT_ARRAY(mergeStrategies, numCols);
754  WRITE_BOOL_ARRAY(mergeNullsFirst, numCols);
755 }
#define WRITE_INT_ARRAY(fldname, len)
Definition: outfuncs.c:127
List * mergeclauses
Definition: plannodes.h:728
static void _outJoinPlanInfo(StringInfo str, const Join *node)
Definition: outfuncs.c:361
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_BOOL_ARRAY(fldname, len)
Definition: outfuncs.c:134
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static int list_length(const List *l)
Definition: pg_list.h:149
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMergePath()

static void _outMergePath ( StringInfo  str,
const MergePath node 
)
static

Definition at line 2178 of file outfuncs.c.

References _outJoinPathInfo(), WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2179 {
2180  WRITE_NODE_TYPE("MERGEPATH");
2181 
2182  _outJoinPathInfo(str, (const JoinPath *) node);
2183 
2184  WRITE_NODE_FIELD(path_mergeclauses);
2185  WRITE_NODE_FIELD(outersortkeys);
2186  WRITE_NODE_FIELD(innersortkeys);
2187  WRITE_BOOL_FIELD(skip_mark_restore);
2188  WRITE_BOOL_FIELD(materialize_inner);
2189 }
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
static void _outJoinPathInfo(StringInfo str, const JoinPath *node)
Definition: outfuncs.c:1755
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMinMaxAggInfo()

static void _outMinMaxAggInfo ( StringInfo  str,
const MinMaxAggInfo node 
)
static

Definition at line 2579 of file outfuncs.c.

References WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

2580 {
2581  WRITE_NODE_TYPE("MINMAXAGGINFO");
2582 
2583  WRITE_OID_FIELD(aggfnoid);
2584  WRITE_OID_FIELD(aggsortop);
2585  WRITE_NODE_FIELD(target);
2586  /* We intentionally omit subroot --- too large, not interesting enough */
2587  WRITE_NODE_FIELD(path);
2588  WRITE_FLOAT_FIELD(pathcost, "%.2f");
2589  WRITE_NODE_FIELD(param);
2590 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMinMaxAggPath()

static void _outMinMaxAggPath ( StringInfo  str,
const MinMaxAggPath node 
)
static

Definition at line 2060 of file outfuncs.c.

References _outPathInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2061 {
2062  WRITE_NODE_TYPE("MINMAXAGGPATH");
2063 
2064  _outPathInfo(str, (const Path *) node);
2065 
2066  WRITE_NODE_FIELD(mmaggregates);
2067  WRITE_NODE_FIELD(quals);
2068 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMinMaxExpr()

static void _outMinMaxExpr ( StringInfo  str,
const MinMaxExpr node 
)
static

Definition at line 1528 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1529 {
1530  WRITE_NODE_TYPE("MINMAX");
1531 
1532  WRITE_OID_FIELD(minmaxtype);
1533  WRITE_OID_FIELD(minmaxcollid);
1534  WRITE_OID_FIELD(inputcollid);
1537  WRITE_LOCATION_FIELD(location);
1538 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
MinMaxOp
Definition: primnodes.h:1117
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outModifyTable()

static void _outModifyTable ( StringInfo  str,
const ModifyTable node 
)
static

Definition at line 398 of file outfuncs.c.

References _outPlanInfo(), WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

399 {
400  WRITE_NODE_TYPE("MODIFYTABLE");
401 
402  _outPlanInfo(str, (const Plan *) node);
403 
404  WRITE_ENUM_FIELD(operation, CmdType);
405  WRITE_BOOL_FIELD(canSetTag);
406  WRITE_UINT_FIELD(nominalRelation);
407  WRITE_UINT_FIELD(rootRelation);
408  WRITE_BOOL_FIELD(partColsUpdated);
409  WRITE_NODE_FIELD(resultRelations);
410  WRITE_NODE_FIELD(plans);
411  WRITE_NODE_FIELD(withCheckOptionLists);
412  WRITE_NODE_FIELD(returningLists);
413  WRITE_NODE_FIELD(fdwPrivLists);
414  WRITE_BITMAPSET_FIELD(fdwDirectModifyPlans);
415  WRITE_NODE_FIELD(rowMarks);
416  WRITE_INT_FIELD(epqParam);
417  WRITE_ENUM_FIELD(onConflictAction, OnConflictAction);
418  WRITE_NODE_FIELD(arbiterIndexes);
419  WRITE_NODE_FIELD(onConflictSet);
420  WRITE_NODE_FIELD(onConflictWhere);
421  WRITE_UINT_FIELD(exclRelRTI);
422  WRITE_NODE_FIELD(exclRelTlist);
423 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:328
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
OnConflictAction
Definition: nodes.h:821
CmdType
Definition: nodes.h:671
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outModifyTablePath()

static void _outModifyTablePath ( StringInfo  str,
const ModifyTablePath node 
)
static

Definition at line 2124 of file outfuncs.c.

References _outPathInfo(), WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

2125 {
2126  WRITE_NODE_TYPE("MODIFYTABLEPATH");
2127 
2128  _outPathInfo(str, (const Path *) node);
2129 
2130  WRITE_ENUM_FIELD(operation, CmdType);
2131  WRITE_BOOL_FIELD(canSetTag);
2132  WRITE_UINT_FIELD(nominalRelation);
2133  WRITE_UINT_FIELD(rootRelation);
2134  WRITE_BOOL_FIELD(partColsUpdated);
2135  WRITE_NODE_FIELD(resultRelations);
2136  WRITE_NODE_FIELD(subpaths);
2137  WRITE_NODE_FIELD(subroots);
2138  WRITE_NODE_FIELD(withCheckOptionLists);
2139  WRITE_NODE_FIELD(returningLists);
2140  WRITE_NODE_FIELD(rowMarks);
2141  WRITE_NODE_FIELD(onconflict);
2142  WRITE_INT_FIELD(epqParam);
2143 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1730
CmdType
Definition: nodes.h:671
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outMultiAssignRef()

static void _outMultiAssignRef ( StringInfo  str,
const MultiAssignRef node 
)
static

Definition at line 3419 of file outfuncs.c.

References source, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3420 {
3421  WRITE_NODE_TYPE("MULTIASSIGNREF");
3422 
3424  WRITE_INT_FIELD(colno);
3425  WRITE_INT_FIELD(ncolumns);
3426 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
static rewind_source * source
Definition: pg_rewind.c:79
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outNamedArgExpr()

static void _outNamedArgExpr ( StringInfo  str,
const NamedArgExpr node 
)
static

Definition at line 1223 of file outfuncs.c.

References arg, name, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

1224 {
1225  WRITE_NODE_TYPE("NAMEDARGEXPR");
1226 
1229  WRITE_INT_FIELD(argnumber);
1230  WRITE_LOCATION_FIELD(location);
1231 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
const char * name
Definition: encode.c:515
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outNamedTuplestoreScan()

static void _outNamedTuplestoreScan ( StringInfo  str,
const NamedTuplestoreScan node 
)
static

Definition at line 664 of file outfuncs.c.

References _outScanInfo(), WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

665 {
666  WRITE_NODE_TYPE("NAMEDTUPLESTORESCAN");
667 
668  _outScanInfo(str, (const Scan *) node);
669 
670  WRITE_STRING_FIELD(enrname);
671 }
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:350
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95

◆ _outNestLoop()

static void _outNestLoop ( StringInfo  str,
const NestLoop node 
)
static

Definition at line 728 of file outfuncs.c.

References _outJoinPlanInfo(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

729 {
730  WRITE_NODE_TYPE("NESTLOOP");
731 
732  _outJoinPlanInfo(str, (const Join *) node);
733 
734  WRITE_NODE_FIELD(nestParams);
735 }
static void _outJoinPlanInfo(StringInfo str, const Join *node)
Definition: outfuncs.c:361
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outNestLoopParam()

static void _outNestLoopParam ( StringInfo  str,
const NestLoopParam node 
)
static

Definition at line 940 of file outfuncs.c.

References WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

941 {
942  WRITE_NODE_TYPE("NESTLOOPPARAM");
943 
944  WRITE_INT_FIELD(paramno);
945  WRITE_NODE_FIELD(paramval);
946 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outNestPath()

static void _outNestPath ( StringInfo  str,
const NestPath node 
)
static

Definition at line 2170 of file outfuncs.c.

References _outJoinPathInfo(), and WRITE_NODE_TYPE.

Referenced by outNode().

2171 {
2172  WRITE_NODE_TYPE("NESTPATH");
2173 
2174  _outJoinPathInfo(str, (const JoinPath *) node);
2175 }
static void _outJoinPathInfo(StringInfo str, const JoinPath *node)
Definition: outfuncs.c:1755
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outNextValueExpr()

static void _outNextValueExpr ( StringInfo  str,
const NextValueExpr node 
)
static

Definition at line 1634 of file outfuncs.c.

References WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1635 {
1636  WRITE_NODE_TYPE("NEXTVALUEEXPR");
1637 
1638  WRITE_OID_FIELD(seqid);
1639  WRITE_OID_FIELD(typeId);
1640 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outNotifyStmt()

static void _outNotifyStmt ( StringInfo  str,
const NotifyStmt node 
)
static

Definition at line 2734 of file outfuncs.c.

References WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

2735 {
2736  WRITE_NODE_TYPE("NOTIFY");
2737 
2738  WRITE_STRING_FIELD(conditionname);
2739  WRITE_STRING_FIELD(payload);
2740 }
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95

◆ _outNullIfExpr()

static void _outNullIfExpr ( StringInfo  str,
const NullIfExpr node 
)
static

Definition at line 1264 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_BOOL_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1265 {
1266  WRITE_NODE_TYPE("NULLIFEXPR");
1267 
1268  WRITE_OID_FIELD(opno);
1269  WRITE_OID_FIELD(opfuncid);
1270  WRITE_OID_FIELD(opresulttype);
1271  WRITE_BOOL_FIELD(opretset);
1272  WRITE_OID_FIELD(opcollid);
1273  WRITE_OID_FIELD(inputcollid);
1275  WRITE_LOCATION_FIELD(location);
1276 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outNullTest()

static void _outNullTest ( StringInfo  str,
const NullTest node 
)
static

Definition at line 1568 of file outfuncs.c.

References arg, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

1569 {
1570  WRITE_NODE_TYPE("NULLTEST");
1571 
1573  WRITE_ENUM_FIELD(nulltesttype, NullTestType);
1574  WRITE_BOOL_FIELD(argisrow);
1575  WRITE_LOCATION_FIELD(location);
1576 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
NullTestType
Definition: primnodes.h:1235
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
void * arg
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outOnConflictExpr()

static void _outOnConflictExpr ( StringInfo  str,
const OnConflictExpr node 
)
static

Definition at line 1699 of file outfuncs.c.

References generate_unaccent_rules::action, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1700 {
1701  WRITE_NODE_TYPE("ONCONFLICTEXPR");
1702 
1704  WRITE_NODE_FIELD(arbiterElems);
1705  WRITE_NODE_FIELD(arbiterWhere);
1706  WRITE_OID_FIELD(constraint);
1707  WRITE_NODE_FIELD(onConflictSet);
1708  WRITE_NODE_FIELD(onConflictWhere);
1709  WRITE_INT_FIELD(exclRelIndex);
1710  WRITE_NODE_FIELD(exclRelTlist);
1711 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
OnConflictAction
Definition: nodes.h:821
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outOpExpr()

static void _outOpExpr ( StringInfo  str,
const OpExpr node 
)
static

Definition at line 1234 of file outfuncs.c.

References generate_unaccent_rules::args, WRITE_BOOL_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1235 {
1236  WRITE_NODE_TYPE("OPEXPR");
1237 
1238  WRITE_OID_FIELD(opno);
1239  WRITE_OID_FIELD(opfuncid);
1240  WRITE_OID_FIELD(opresulttype);
1241  WRITE_BOOL_FIELD(opretset);
1242  WRITE_OID_FIELD(opcollid);
1243  WRITE_OID_FIELD(inputcollid);
1245  WRITE_LOCATION_FIELD(location);
1246 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outParam()

static void _outParam ( StringInfo  str,
const Param node 
)
static

Definition at line 1123 of file outfuncs.c.

References WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

1124 {
1125  WRITE_NODE_TYPE("PARAM");
1126 
1127  WRITE_ENUM_FIELD(paramkind, ParamKind);
1128  WRITE_INT_FIELD(paramid);
1129  WRITE_OID_FIELD(paramtype);
1130  WRITE_INT_FIELD(paramtypmod);
1131  WRITE_OID_FIELD(paramcollid);
1132  WRITE_LOCATION_FIELD(location);
1133 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
ParamKind
Definition: primnodes.h:251
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outParamPathInfo()

static void _outParamPathInfo ( StringInfo  str,
const ParamPathInfo node 
)
static

Definition at line 2468 of file outfuncs.c.

References WRITE_BITMAPSET_FIELD, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

2469 {
2470  WRITE_NODE_TYPE("PARAMPATHINFO");
2471 
2472  WRITE_BITMAPSET_FIELD(ppi_req_outer);
2473  WRITE_FLOAT_FIELD(ppi_rows, "%.0f");
2474  WRITE_NODE_FIELD(ppi_clauses);
2475 }
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outParamRef()

static void _outParamRef ( StringInfo  str,
const ParamRef node 
)
static

Definition at line 3341 of file outfuncs.c.

References WRITE_INT_FIELD, WRITE_LOCATION_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3342 {
3343  WRITE_NODE_TYPE("PARAMREF");
3344 
3345  WRITE_INT_FIELD(number);
3346  WRITE_LOCATION_FIELD(location);
3347 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51

◆ _outPartitionBoundSpec()

static void _outPartitionBoundSpec ( StringInfo  str,
const PartitionBoundSpec node 
)
static

Definition at line 3674 of file outfuncs.c.

References WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

3675 {
3676  WRITE_NODE_TYPE("PARTITIONBOUNDSPEC");
3677 
3678  WRITE_CHAR_FIELD(strategy);
3679  WRITE_BOOL_FIELD(is_default);
3680  WRITE_INT_FIELD(modulus);
3681  WRITE_INT_FIELD(remainder);
3682  WRITE_NODE_FIELD(listdatums);
3683  WRITE_NODE_FIELD(lowerdatums);
3684  WRITE_NODE_FIELD(upperdatums);
3685  WRITE_LOCATION_FIELD(location);
3686 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90
#define WRITE_CHAR_FIELD(fldname)
Definition: outfuncs.c:76
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outPartitionedRelPruneInfo()

static void _outPartitionedRelPruneInfo ( StringInfo  str,
const PartitionedRelPruneInfo node 
)
static

Definition at line 973 of file outfuncs.c.

References PartitionedRelPruneInfo::nparts, WRITE_BITMAPSET_FIELD, WRITE_INT_ARRAY, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_ARRAY, and WRITE_UINT_FIELD.

Referenced by outNode().

974 {
975  WRITE_NODE_TYPE("PARTITIONEDRELPRUNEINFO");
976 
977  WRITE_UINT_FIELD(rtindex);
978  WRITE_BITMAPSET_FIELD(present_parts);
979  WRITE_INT_FIELD(nparts);
980  WRITE_INT_ARRAY(subplan_map, node->nparts);
981  WRITE_INT_ARRAY(subpart_map, node->nparts);
982  WRITE_OID_ARRAY(relid_map, node->nparts);
983  WRITE_NODE_FIELD(initial_pruning_steps);
984  WRITE_NODE_FIELD(exec_pruning_steps);
985  WRITE_BITMAPSET_FIELD(execparamids);
986 }
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_INT_ARRAY(fldname, len)
Definition: outfuncs.c:127
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outPartitionElem()

static void _outPartitionElem ( StringInfo  str,
const PartitionElem node 
)
static

Definition at line 3652 of file outfuncs.c.

References name, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

3653 {
3654  WRITE_NODE_TYPE("PARTITIONELEM");
3655 
3657  WRITE_NODE_FIELD(expr);
3658  WRITE_NODE_FIELD(collation);
3659  WRITE_NODE_FIELD(opclass);
3660  WRITE_LOCATION_FIELD(location);
3661 }
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
const char * name
Definition: encode.c:515
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104

◆ _outPartitionPruneInfo()

static void _outPartitionPruneInfo ( StringInfo  str,
const PartitionPruneInfo node 
)
static

Definition at line 964 of file outfuncs.c.

References WRITE_BITMAPSET_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

965 {
966