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_INDEX_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 _outTidRangeScan (StringInfo str, const TidRangeScan *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 _outMemoize (StringInfo str, const Memoize *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 _outJsonFormat (StringInfo str, const JsonFormat *node)
 
static void _outJsonReturning (StringInfo str, const JsonReturning *node)
 
static void _outJsonValueExpr (StringInfo str, const JsonValueExpr *node)
 
static void _outJsonConstructorExpr (StringInfo str, const JsonConstructorExpr *node)
 
static void _outJsonIsPredicate (StringInfo str, const JsonIsPredicate *node)
 
static void _outJsonBehavior (StringInfo str, const JsonBehavior *node)
 
static void _outJsonExpr (StringInfo str, const JsonExpr *node)
 
static void _outJsonCoercion (StringInfo str, const JsonCoercion *node)
 
static void _outJsonItemCoercions (StringInfo str, const JsonItemCoercions *node)
 
static void _outJsonTableParent (StringInfo str, const JsonTableParent *node)
 
static void _outJsonTableSibling (StringInfo str, const JsonTableSibling *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 _outTidRangePath (StringInfo str, const TidRangePath *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 _outMemoizePath (StringInfo str, const MemoizePath *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 _outRowIdentityVarInfo (StringInfo str, const RowIdentityVarInfo *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 _outReturnStmt (StringInfo str, const ReturnStmt *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 _outStatsElem (StringInfo str, const StatsElem *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 _outCTESearchClause (StringInfo str, const CTESearchClause *node)
 
static void _outCTECycleClause (StringInfo str, const CTECycleClause *node)
 
static void _outCommonTableExpr (StringInfo str, const CommonTableExpr *node)
 
static void _outMergeWhenClause (StringInfo str, const MergeWhenClause *node)
 
static void _outMergeAction (StringInfo str, const MergeAction *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 _outA_Expr (StringInfo str, const A_Expr *node)
 
static void _outInteger (StringInfo str, const Integer *node)
 
static void _outFloat (StringInfo str, const Float *node)
 
static void _outBoolean (StringInfo str, const Boolean *node)
 
static void _outString (StringInfo str, const String *node)
 
static void _outBitString (StringInfo str, const BitString *node)
 
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 _outA_Const (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 156 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)
#define CppAsString(identifier)
Definition: c.h:288
int i
Definition: isn.c:73
const void size_t len
void appendStringInfo(StringInfo str, const char *fmt,...)
Definition: stringinfo.c:91

Definition at line 113 of file outfuncs.c.

◆ WRITE_BITMAPSET_FIELD

#define WRITE_BITMAPSET_FIELD (   fldname)
Value:
(appendStringInfoString(str, " :" CppAsString(fldname) " "), \
outBitmapset(str, node->fldname))
void appendStringInfoString(StringInfo str, const char *s)
Definition: stringinfo.c:176

Definition at line 109 of file outfuncs.c.

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

Definition at line 148 of file outfuncs.c.

◆ WRITE_BOOL_FIELD

#define WRITE_BOOL_FIELD (   fldname)
Value:
appendStringInfo(str, " :" CppAsString(fldname) " %s", \
booltostr(node->fldname))

Definition at line 90 of file outfuncs.c.

◆ WRITE_CHAR_FIELD

#define WRITE_CHAR_FIELD (   fldname)
Value:
(appendStringInfo(str, " :" CppAsString(fldname) " "), \
outChar(str, node->fldname))

Definition at line 76 of file outfuncs.c.

◆ WRITE_ENUM_FIELD

#define WRITE_ENUM_FIELD (   fldname,
  enumtype 
)
Value:
appendStringInfo(str, " :" CppAsString(fldname) " %d", \
(int) node->fldname)

Definition at line 81 of file outfuncs.c.

◆ WRITE_FLOAT_FIELD

#define WRITE_FLOAT_FIELD (   fldname,
  format 
)     appendStringInfo(str, " :" CppAsString(fldname) " " format, node->fldname)

Definition at line 86 of file outfuncs.c.

◆ WRITE_INDEX_ARRAY

#define WRITE_INDEX_ARRAY (   fldname,
  len 
)
Value:
do { \
appendStringInfoString(str, " :" CppAsString(fldname) " "); \
if (node->fldname) \
for (int i = 0; i < len; i++) \
appendStringInfo(str, " %u", node->fldname[i]); \
} while(0)

Definition at line 131 of file outfuncs.c.

◆ 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)

Definition at line 141 of file outfuncs.c.

◆ WRITE_INT_FIELD

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

Definition at line 55 of file outfuncs.c.

◆ WRITE_LOCATION_FIELD

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

Definition at line 100 of file outfuncs.c.

◆ WRITE_LONG_FIELD

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

Definition at line 72 of file outfuncs.c.

◆ WRITE_NODE_FIELD

#define WRITE_NODE_FIELD (   fldname)
Value:
(appendStringInfoString(str, " :" CppAsString(fldname) " "), \
outNode(str, node->fldname))

Definition at line 104 of file outfuncs.c.

◆ WRITE_NODE_TYPE

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

Definition at line 51 of file outfuncs.c.

◆ 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)

Definition at line 120 of file outfuncs.c.

◆ WRITE_OID_FIELD

#define WRITE_OID_FIELD (   fldname)     appendStringInfo(str, " :" CppAsString(fldname) " %u", node->fldname)

Definition at line 68 of file outfuncs.c.

◆ WRITE_STRING_FIELD

#define WRITE_STRING_FIELD (   fldname)
Value:
(appendStringInfoString(str, " :" CppAsString(fldname) " "), \
outToken(str, node->fldname))

Definition at line 95 of file outfuncs.c.

◆ WRITE_UINT64_FIELD

#define WRITE_UINT64_FIELD (   fldname)
Value:
node->fldname)
#define UINT64_FORMAT
Definition: c.h:484

Definition at line 63 of file outfuncs.c.

◆ WRITE_UINT_FIELD

#define WRITE_UINT_FIELD (   fldname)     appendStringInfo(str, " :" CppAsString(fldname) " %u", node->fldname)

Definition at line 59 of file outfuncs.c.

Function Documentation

◆ _outA_ArrayExpr()

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

Definition at line 3723 of file outfuncs.c.

3724 {
3725  WRITE_NODE_TYPE("A_ARRAYEXPR");
3726 
3727  WRITE_NODE_FIELD(elements);
3728  WRITE_LOCATION_FIELD(location);
3729 }
#define WRITE_NODE_FIELD(fldname)
Definition: outfuncs.c:104
#define WRITE_NODE_TYPE(nodelabel)
Definition: outfuncs.c:51
#define WRITE_LOCATION_FIELD(fldname)
Definition: outfuncs.c:100

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outA_Const()

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

Definition at line 3683 of file outfuncs.c.

3684 {
3685  WRITE_NODE_TYPE("A_CONST");
3686 
3687  if (node->isnull)
3688  appendStringInfoString(str, "NULL");
3689  else
3690  {
3691  appendStringInfoString(str, " :val ");
3692  outNode(str, &node->val);
3693  }
3694  WRITE_LOCATION_FIELD(location);
3695 }
void outNode(StringInfo str, const void *obj)
Definition: outfuncs.c:4029
bool isnull
Definition: parsenodes.h:317
union A_Const::ValUnion val

References appendStringInfoString(), A_Const::isnull, outNode(), generate_unaccent_rules::str, A_Const::val, WRITE_LOCATION_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outA_Expr()

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

Definition at line 3534 of file outfuncs.c.

3535 {
3536  WRITE_NODE_TYPE("AEXPR");
3537 
3538  switch (node->kind)
3539  {
3540  case AEXPR_OP:
3541  appendStringInfoChar(str, ' ');
3543  break;
3544  case AEXPR_OP_ANY:
3545  appendStringInfoChar(str, ' ');
3547  appendStringInfoString(str, " ANY ");
3548  break;
3549  case AEXPR_OP_ALL:
3550  appendStringInfoChar(str, ' ');
3552  appendStringInfoString(str, " ALL ");
3553  break;
3554  case AEXPR_DISTINCT:
3555  appendStringInfoString(str, " DISTINCT ");
3557  break;
3558  case AEXPR_NOT_DISTINCT:
3559  appendStringInfoString(str, " NOT_DISTINCT ");
3561  break;
3562  case AEXPR_NULLIF:
3563  appendStringInfoString(str, " NULLIF ");
3565  break;
3566  case AEXPR_IN:
3567  appendStringInfoString(str, " IN ");
3569  break;
3570  case AEXPR_LIKE:
3571  appendStringInfoString(str, " LIKE ");
3573  break;
3574  case AEXPR_ILIKE:
3575  appendStringInfoString(str, " ILIKE ");
3577  break;
3578  case AEXPR_SIMILAR:
3579  appendStringInfoString(str, " SIMILAR ");
3581  break;
3582  case AEXPR_BETWEEN:
3583  appendStringInfoString(str, " BETWEEN ");
3585  break;
3586  case AEXPR_NOT_BETWEEN:
3587  appendStringInfoString(str, " NOT_BETWEEN ");
3589  break;
3590  case AEXPR_BETWEEN_SYM:
3591  appendStringInfoString(str, " BETWEEN_SYM ");
3593  break;
3594  case AEXPR_NOT_BETWEEN_SYM:
3595  appendStringInfoString(str, " NOT_BETWEEN_SYM ");
3597  break;
3598  default:
3599  appendStringInfoString(str, " ??");
3600  break;
3601  }
3602 
3603  WRITE_NODE_FIELD(lexpr);
3604  WRITE_NODE_FIELD(rexpr);
3605  WRITE_LOCATION_FIELD(location);
3606 }
const char * name
Definition: encode.c:561
@ AEXPR_BETWEEN
Definition: parsenodes.h:281
@ AEXPR_NULLIF
Definition: parsenodes.h:276
@ AEXPR_NOT_DISTINCT
Definition: parsenodes.h:275
@ AEXPR_BETWEEN_SYM
Definition: parsenodes.h:283
@ AEXPR_NOT_BETWEEN_SYM
Definition: parsenodes.h:284
@ AEXPR_ILIKE
Definition: parsenodes.h:279
@ AEXPR_IN
Definition: parsenodes.h:277
@ AEXPR_NOT_BETWEEN
Definition: parsenodes.h:282
@ AEXPR_DISTINCT
Definition: parsenodes.h:274
@ AEXPR_SIMILAR
Definition: parsenodes.h:280
@ AEXPR_LIKE
Definition: parsenodes.h:278
@ AEXPR_OP
Definition: parsenodes.h:271
@ AEXPR_OP_ANY
Definition: parsenodes.h:272
@ AEXPR_OP_ALL
Definition: parsenodes.h:273
void appendStringInfoChar(StringInfo str, char ch)
Definition: stringinfo.c:188
A_Expr_Kind kind
Definition: parsenodes.h:290

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, generate_unaccent_rules::str, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outA_Indices()

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

Definition at line 3704 of file outfuncs.c.

3705 {
3706  WRITE_NODE_TYPE("A_INDICES");
3707 
3708  WRITE_BOOL_FIELD(is_slice);
3709  WRITE_NODE_FIELD(lidx);
3710  WRITE_NODE_FIELD(uidx);
3711 }
#define WRITE_BOOL_FIELD(fldname)
Definition: outfuncs.c:90

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outA_Indirection()

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

Definition at line 3714 of file outfuncs.c.

3715 {
3716  WRITE_NODE_TYPE("A_INDIRECTION");
3717 
3719  WRITE_NODE_FIELD(indirection);
3720 }
void * arg

References arg, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outA_Star()

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

Definition at line 3698 of file outfuncs.c.

3699 {
3700  WRITE_NODE_TYPE("A_STAR");
3701 }

References WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outAgg()

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

Definition at line 801 of file outfuncs.c.

802 {
803  WRITE_NODE_TYPE("AGG");
804 
805  _outPlanInfo(str, (const Plan *) node);
806 
807  WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
808  WRITE_ENUM_FIELD(aggsplit, AggSplit);
809  WRITE_INT_FIELD(numCols);
810  WRITE_ATTRNUMBER_ARRAY(grpColIdx, node->numCols);
811  WRITE_OID_ARRAY(grpOperators, node->numCols);
812  WRITE_OID_ARRAY(grpCollations, node->numCols);
813  WRITE_LONG_FIELD(numGroups);
814  WRITE_UINT64_FIELD(transitionSpace);
815  WRITE_BITMAPSET_FIELD(aggParams);
816  WRITE_NODE_FIELD(groupingSets);
817  WRITE_NODE_FIELD(chain);
818 }
AggStrategy
Definition: nodes.h:806
AggSplit
Definition: nodes.h:828
#define WRITE_BITMAPSET_FIELD(fldname)
Definition: outfuncs.c:109
#define WRITE_ENUM_FIELD(fldname, enumtype)
Definition: outfuncs.c:81
#define WRITE_ATTRNUMBER_ARRAY(fldname, len)
Definition: outfuncs.c:113
#define WRITE_LONG_FIELD(fldname)
Definition: outfuncs.c:72
static void _outPlanInfo(StringInfo str, const Plan *node)
Definition: outfuncs.c:342
#define WRITE_OID_ARRAY(fldname, len)
Definition: outfuncs.c:120
#define WRITE_INT_FIELD(fldname)
Definition: outfuncs.c:55
#define WRITE_UINT64_FIELD(fldname)
Definition: outfuncs.c:63
int numCols
Definition: plannodes.h:899

References _outPlanInfo(), Agg::numCols, generate_unaccent_rules::str, 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().

◆ _outAggPath()

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

Definition at line 2227 of file outfuncs.c.

2228 {
2229  WRITE_NODE_TYPE("AGGPATH");
2230 
2231  _outPathInfo(str, (const Path *) node);
2232 
2234  WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
2235  WRITE_ENUM_FIELD(aggsplit, AggSplit);
2236  WRITE_FLOAT_FIELD(numGroups, "%.0f");
2237  WRITE_UINT64_FIELD(transitionSpace);
2238  WRITE_NODE_FIELD(groupClause);
2239  WRITE_NODE_FIELD(qual);
2240 }
Datum subpath(PG_FUNCTION_ARGS)
Definition: ltree_op.c:241
static void _outPathInfo(StringInfo str, const Path *node)
Definition: outfuncs.c:1925
#define WRITE_FLOAT_FIELD(fldname, format)
Definition: outfuncs.c:86

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

Referenced by outNode().

◆ _outAggref()

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

Definition at line 1189 of file outfuncs.c.

1190 {
1191  WRITE_NODE_TYPE("AGGREF");
1192 
1193  WRITE_OID_FIELD(aggfnoid);
1194  WRITE_OID_FIELD(aggtype);
1195  WRITE_OID_FIELD(aggcollid);
1196  WRITE_OID_FIELD(inputcollid);
1197  WRITE_OID_FIELD(aggtranstype);
1198  WRITE_NODE_FIELD(aggargtypes);
1199  WRITE_NODE_FIELD(aggdirectargs);
1201  WRITE_NODE_FIELD(aggorder);
1202  WRITE_NODE_FIELD(aggdistinct);
1203  WRITE_NODE_FIELD(aggfilter);
1204  WRITE_BOOL_FIELD(aggstar);
1205  WRITE_BOOL_FIELD(aggvariadic);
1206  WRITE_CHAR_FIELD(aggkind);
1207  WRITE_UINT_FIELD(agglevelsup);
1208  WRITE_ENUM_FIELD(aggsplit, AggSplit);
1209  WRITE_INT_FIELD(aggno);
1210  WRITE_INT_FIELD(aggtransno);
1211  WRITE_LOCATION_FIELD(location);
1212 }
#define WRITE_OID_FIELD(fldname)
Definition: outfuncs.c:68
#define WRITE_UINT_FIELD(fldname)
Definition: outfuncs.c:59
#define WRITE_CHAR_FIELD(fldname)
Definition: outfuncs.c:76

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().

◆ _outAlias()

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

Definition at line 1076 of file outfuncs.c.

1077 {
1078  WRITE_NODE_TYPE("ALIAS");
1079 
1080  WRITE_STRING_FIELD(aliasname);
1081  WRITE_NODE_FIELD(colnames);
1082 }
#define WRITE_STRING_FIELD(fldname)
Definition: outfuncs.c:95

References WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outAlternativeSubPlan()

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

Definition at line 1410 of file outfuncs.c.

1411 {
1412  WRITE_NODE_TYPE("ALTERNATIVESUBPLAN");
1413 
1414  WRITE_NODE_FIELD(subplans);
1415 }

References WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outAlterStatsStmt()

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

Definition at line 2961 of file outfuncs.c.

2962 {
2963  WRITE_NODE_TYPE("ALTERSTATSSTMT");
2964 
2965  WRITE_NODE_FIELD(defnames);
2966  WRITE_INT_FIELD(stxstattarget);
2967  WRITE_BOOL_FIELD(missing_ok);
2968 }

References WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outAppend()

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

Definition at line 443 of file outfuncs.c.

444 {
445  WRITE_NODE_TYPE("APPEND");
446 
447  _outPlanInfo(str, (const Plan *) node);
448 
449  WRITE_BITMAPSET_FIELD(apprelids);
450  WRITE_NODE_FIELD(appendplans);
451  WRITE_INT_FIELD(nasyncplans);
452  WRITE_INT_FIELD(first_partial_plan);
453  WRITE_NODE_FIELD(part_prune_info);
454 }

References _outPlanInfo(), generate_unaccent_rules::str, WRITE_BITMAPSET_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outAppendPath()

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

Definition at line 2073 of file outfuncs.c.

2074 {
2075  WRITE_NODE_TYPE("APPENDPATH");
2076 
2077  _outPathInfo(str, (const Path *) node);
2078 
2079  WRITE_NODE_FIELD(subpaths);
2080  WRITE_INT_FIELD(first_partial_path);
2081  WRITE_FLOAT_FIELD(limit_tuples, "%.0f");
2082 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outAppendRelInfo()

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

Definition at line 2775 of file outfuncs.c.

2776 {
2777  WRITE_NODE_TYPE("APPENDRELINFO");
2778 
2779  WRITE_UINT_FIELD(parent_relid);
2780  WRITE_UINT_FIELD(child_relid);
2781  WRITE_OID_FIELD(parent_reltype);
2782  WRITE_OID_FIELD(child_reltype);
2783  WRITE_NODE_FIELD(translated_vars);
2784  WRITE_INT_FIELD(num_child_cols);
2785  WRITE_ATTRNUMBER_ARRAY(parent_colnos, node->num_child_cols);
2786  WRITE_OID_FIELD(parent_reloid);
2787 }
int num_child_cols
Definition: pathnodes.h:2362

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().

◆ _outArrayCoerceExpr()

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

Definition at line 1466 of file outfuncs.c.

1467 {
1468  WRITE_NODE_TYPE("ARRAYCOERCEEXPR");
1469 
1471  WRITE_NODE_FIELD(elemexpr);
1472  WRITE_OID_FIELD(resulttype);
1473  WRITE_INT_FIELD(resulttypmod);
1474  WRITE_OID_FIELD(resultcollid);
1475  WRITE_ENUM_FIELD(coerceformat, CoercionForm);
1476  WRITE_LOCATION_FIELD(location);
1477 }
CoercionForm
Definition: primnodes.h:491

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

Referenced by outNode().

◆ _outArrayExpr()

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

Definition at line 1534 of file outfuncs.c.

1535 {
1536  WRITE_NODE_TYPE("ARRAYEXPR");
1537 
1538  WRITE_OID_FIELD(array_typeid);
1539  WRITE_OID_FIELD(array_collid);
1540  WRITE_OID_FIELD(element_typeid);
1541  WRITE_NODE_FIELD(elements);
1542  WRITE_BOOL_FIELD(multidims);
1543  WRITE_LOCATION_FIELD(location);
1544 }

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

Referenced by outNode().

◆ _outBitmapAnd()

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

Definition at line 489 of file outfuncs.c.

490 {
491  WRITE_NODE_TYPE("BITMAPAND");
492 
493  _outPlanInfo(str, (const Plan *) node);
494 
495  WRITE_NODE_FIELD(bitmapplans);
496 }

References _outPlanInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outBitmapAndPath()

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

Definition at line 1996 of file outfuncs.c.

1997 {
1998  WRITE_NODE_TYPE("BITMAPANDPATH");
1999 
2000  _outPathInfo(str, (const Path *) node);
2001 
2002  WRITE_NODE_FIELD(bitmapquals);
2003  WRITE_FLOAT_FIELD(bitmapselectivity, "%.4f");
2004 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outBitmapHeapPath()

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

Definition at line 1986 of file outfuncs.c.

1987 {
1988  WRITE_NODE_TYPE("BITMAPHEAPPATH");
1989 
1990  _outPathInfo(str, (const Path *) node);
1991 
1992  WRITE_NODE_FIELD(bitmapqual);
1993 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outBitmapHeapScan()

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

Definition at line 611 of file outfuncs.c.

612 {
613  WRITE_NODE_TYPE("BITMAPHEAPSCAN");
614 
615  _outScanInfo(str, (const Scan *) node);
616 
617  WRITE_NODE_FIELD(bitmapqualorig);
618 }
static void _outScanInfo(StringInfo str, const Scan *node)
Definition: outfuncs.c:365

References _outScanInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outBitmapIndexScan()

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

Definition at line 598 of file outfuncs.c.

599 {
600  WRITE_NODE_TYPE("BITMAPINDEXSCAN");
601 
602  _outScanInfo(str, (const Scan *) node);
603 
604  WRITE_OID_FIELD(indexid);
605  WRITE_BOOL_FIELD(isshared);
606  WRITE_NODE_FIELD(indexqual);
607  WRITE_NODE_FIELD(indexqualorig);
608 }

References _outScanInfo(), generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outBitmapOr()

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

Definition at line 499 of file outfuncs.c.

500 {
501  WRITE_NODE_TYPE("BITMAPOR");
502 
503  _outPlanInfo(str, (const Plan *) node);
504 
505  WRITE_BOOL_FIELD(isshared);
506  WRITE_NODE_FIELD(bitmapplans);
507 }

References _outPlanInfo(), generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outBitmapOrPath()

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

Definition at line 2007 of file outfuncs.c.

2008 {
2009  WRITE_NODE_TYPE("BITMAPORPATH");
2010 
2011  _outPathInfo(str, (const Path *) node);
2012 
2013  WRITE_NODE_FIELD(bitmapquals);
2014  WRITE_FLOAT_FIELD(bitmapselectivity, "%.4f");
2015 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outBitString()

static void _outBitString ( StringInfo  str,
const BitString node 
)
static

Definition at line 3644 of file outfuncs.c.

3645 {
3646  /* internal representation already has leading 'b' */
3648 }
char * bsval
Definition: value.h:66

References appendStringInfoString(), BitString::bsval, and generate_unaccent_rules::str.

Referenced by outNode().

◆ _outBoolean()

static void _outBoolean ( StringInfo  str,
const Boolean node 
)
static

Definition at line 3625 of file outfuncs.c.

3626 {
3627  appendStringInfoString(str, node->boolval ? "true" : "false");
3628 }
bool boolval
Definition: value.h:54

References appendStringInfoString(), Boolean::boolval, and generate_unaccent_rules::str.

Referenced by outNode().

◆ _outBooleanTest()

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

Definition at line 1634 of file outfuncs.c.

1635 {
1636  WRITE_NODE_TYPE("BOOLEANTEST");
1637 
1639  WRITE_ENUM_FIELD(booltesttype, BoolTestType);
1640  WRITE_LOCATION_FIELD(location);
1641 }
BoolTestType
Definition: primnodes.h:1542

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

Referenced by outNode().

◆ _outBoolExpr()

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

Definition at line 1347 of file outfuncs.c.

1348 {
1349  char *opstr = NULL;
1350 
1351  WRITE_NODE_TYPE("BOOLEXPR");
1352 
1353  /* do-it-yourself enum representation */
1354  switch (node->boolop)
1355  {
1356  case AND_EXPR:
1357  opstr = "and";
1358  break;
1359  case OR_EXPR:
1360  opstr = "or";
1361  break;
1362  case NOT_EXPR:
1363  opstr = "not";
1364  break;
1365  }
1366  appendStringInfoString(str, " :boolop ");
1367  outToken(str, opstr);
1368 
1370  WRITE_LOCATION_FIELD(location);
1371 }
void outToken(StringInfo str, const char *s)
Definition: outfuncs.c:167
@ AND_EXPR
Definition: primnodes.h:628
@ OR_EXPR
Definition: primnodes.h:628
@ NOT_EXPR
Definition: primnodes.h:628
BoolExprType boolop
Definition: primnodes.h:634

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

Referenced by outNode().

◆ _outCaseExpr()

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

Definition at line 1501 of file outfuncs.c.

1502 {
1503  WRITE_NODE_TYPE("CASEEXPR");
1504 
1505  WRITE_OID_FIELD(casetype);
1506  WRITE_OID_FIELD(casecollid);
1509  WRITE_NODE_FIELD(defresult);
1510  WRITE_LOCATION_FIELD(location);
1511 }

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

Referenced by outNode().

◆ _outCaseTestExpr()

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

Definition at line 1524 of file outfuncs.c.

1525 {
1526  WRITE_NODE_TYPE("CASETESTEXPR");
1527 
1528  WRITE_OID_FIELD(typeId);
1529  WRITE_INT_FIELD(typeMod);
1530  WRITE_OID_FIELD(collation);
1531 }

References WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outCaseWhen()

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

Definition at line 1514 of file outfuncs.c.

1515 {
1516  WRITE_NODE_TYPE("CASEWHEN");
1517 
1518  WRITE_NODE_FIELD(expr);
1519  WRITE_NODE_FIELD(result);
1520  WRITE_LOCATION_FIELD(location);
1521 }

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outCoalesceExpr()

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

Definition at line 1572 of file outfuncs.c.

1573 {
1574  WRITE_NODE_TYPE("COALESCEEXPR");
1575 
1576  WRITE_OID_FIELD(coalescetype);
1577  WRITE_OID_FIELD(coalescecollid);
1579  WRITE_LOCATION_FIELD(location);
1580 }

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

Referenced by outNode().

◆ _outCoerceToDomain()

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

Definition at line 1644 of file outfuncs.c.

1645 {
1646  WRITE_NODE_TYPE("COERCETODOMAIN");
1647 
1649  WRITE_OID_FIELD(resulttype);
1650  WRITE_INT_FIELD(resulttypmod);
1651  WRITE_OID_FIELD(resultcollid);
1652  WRITE_ENUM_FIELD(coercionformat, CoercionForm);
1653  WRITE_LOCATION_FIELD(location);
1654 }

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

Referenced by outNode().

◆ _outCoerceToDomainValue()

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

Definition at line 1657 of file outfuncs.c.

1658 {
1659  WRITE_NODE_TYPE("COERCETODOMAINVALUE");
1660 
1661  WRITE_OID_FIELD(typeId);
1662  WRITE_INT_FIELD(typeMod);
1663  WRITE_OID_FIELD(collation);
1664  WRITE_LOCATION_FIELD(location);
1665 }

References WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outCoerceViaIO()

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

Definition at line 1454 of file outfuncs.c.

1455 {
1456  WRITE_NODE_TYPE("COERCEVIAIO");
1457 
1459  WRITE_OID_FIELD(resulttype);
1460  WRITE_OID_FIELD(resultcollid);
1461  WRITE_ENUM_FIELD(coerceformat, CoercionForm);
1462  WRITE_LOCATION_FIELD(location);
1463 }

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

Referenced by outNode().

◆ _outCollateClause()

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

Definition at line 3158 of file outfuncs.c.

3159 {
3160  WRITE_NODE_TYPE("COLLATECLAUSE");
3161 
3163  WRITE_NODE_FIELD(collname);
3164  WRITE_LOCATION_FIELD(location);
3165 }

References arg, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outCollateExpr()

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

Definition at line 1491 of file outfuncs.c.

1492 {
1493  WRITE_NODE_TYPE("COLLATEEXPR");
1494 
1496  WRITE_OID_FIELD(collOid);
1497  WRITE_LOCATION_FIELD(location);
1498 }

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

Referenced by outNode().

◆ _outColumnDef()

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

Definition at line 3108 of file outfuncs.c.

3109 {
3110  WRITE_NODE_TYPE("COLUMNDEF");
3111 
3112  WRITE_STRING_FIELD(colname);
3113  WRITE_NODE_FIELD(typeName);
3114  WRITE_STRING_FIELD(compression);
3115  WRITE_INT_FIELD(inhcount);
3116  WRITE_BOOL_FIELD(is_local);
3117  WRITE_BOOL_FIELD(is_not_null);
3118  WRITE_BOOL_FIELD(is_from_type);
3119  WRITE_CHAR_FIELD(storage);
3120  WRITE_NODE_FIELD(raw_default);
3121  WRITE_NODE_FIELD(cooked_default);
3122  WRITE_CHAR_FIELD(identity);
3123  WRITE_NODE_FIELD(identitySequence);
3124  WRITE_CHAR_FIELD(generated);
3125  WRITE_NODE_FIELD(collClause);
3126  WRITE_OID_FIELD(collOid);
3127  WRITE_NODE_FIELD(constraints);
3128  WRITE_NODE_FIELD(fdwoptions);
3129  WRITE_LOCATION_FIELD(location);
3130 }

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().

◆ _outColumnRef()

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

Definition at line 3651 of file outfuncs.c.

3652 {
3653  WRITE_NODE_TYPE("COLUMNREF");
3654 
3655  WRITE_NODE_FIELD(fields);
3656  WRITE_LOCATION_FIELD(location);
3657 }

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outCommonTableExpr()

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

Definition at line 3370 of file outfuncs.c.

3371 {
3372  WRITE_NODE_TYPE("COMMONTABLEEXPR");
3373 
3374  WRITE_STRING_FIELD(ctename);
3375  WRITE_NODE_FIELD(aliascolnames);
3376  WRITE_ENUM_FIELD(ctematerialized, CTEMaterialize);
3377  WRITE_NODE_FIELD(ctequery);
3378  WRITE_NODE_FIELD(search_clause);
3379  WRITE_NODE_FIELD(cycle_clause);
3380  WRITE_LOCATION_FIELD(location);
3381  WRITE_BOOL_FIELD(cterecursive);
3382  WRITE_INT_FIELD(cterefcount);
3383  WRITE_NODE_FIELD(ctecolnames);
3384  WRITE_NODE_FIELD(ctecoltypes);
3385  WRITE_NODE_FIELD(ctecoltypmods);
3386  WRITE_NODE_FIELD(ctecolcollations);
3387 }
CTEMaterialize
Definition: parsenodes.h:1489

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().

◆ _outConst()

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

Definition at line 1156 of file outfuncs.c.

1157 {
1158  WRITE_NODE_TYPE("CONST");
1159 
1160  WRITE_OID_FIELD(consttype);
1161  WRITE_INT_FIELD(consttypmod);
1162  WRITE_OID_FIELD(constcollid);
1163  WRITE_INT_FIELD(constlen);
1164  WRITE_BOOL_FIELD(constbyval);
1165  WRITE_BOOL_FIELD(constisnull);
1166  WRITE_LOCATION_FIELD(location);
1167 
1168  appendStringInfoString(str, " :constvalue ");
1169  if (node->constisnull)
1170  appendStringInfoString(str, "<>");
1171  else
1172  outDatum(str, node->constvalue, node->constlen, node->constbyval);
1173 }
void outDatum(StringInfo str, Datum value, int typlen, bool typbyval)
Definition: outfuncs.c:273
int constlen
Definition: primnodes.h:227
Datum constvalue
Definition: primnodes.h:228
bool constisnull
Definition: primnodes.h:229
bool constbyval
Definition: primnodes.h:231

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

Referenced by outNode().

◆ _outConstraint()

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

Definition at line 3843 of file outfuncs.c.

3844 {
3845  WRITE_NODE_TYPE("CONSTRAINT");
3846 
3847  WRITE_STRING_FIELD(conname);
3848  WRITE_BOOL_FIELD(deferrable);
3849  WRITE_BOOL_FIELD(initdeferred);
3850  WRITE_LOCATION_FIELD(location);
3851 
3852  appendStringInfoString(str, " :contype ");
3853  switch (node->contype)
3854  {
3855  case CONSTR_NULL:
3856  appendStringInfoString(str, "NULL");
3857  break;
3858 
3859  case CONSTR_NOTNULL:
3860  appendStringInfoString(str, "NOT_NULL");
3861  break;
3862 
3863  case CONSTR_DEFAULT:
3864  appendStringInfoString(str, "DEFAULT");
3865  WRITE_NODE_FIELD(raw_expr);
3866  WRITE_STRING_FIELD(cooked_expr);
3867  break;
3868 
3869  case CONSTR_IDENTITY:
3870  appendStringInfoString(str, "IDENTITY");
3871  WRITE_NODE_FIELD(raw_expr);
3872  WRITE_STRING_FIELD(cooked_expr);
3873  WRITE_CHAR_FIELD(generated_when);
3874  break;
3875 
3876  case CONSTR_GENERATED:
3877  appendStringInfoString(str, "GENERATED");
3878  WRITE_NODE_FIELD(raw_expr);
3879  WRITE_STRING_FIELD(cooked_expr);
3880  WRITE_CHAR_FIELD(generated_when);
3881  break;
3882 
3883  case CONSTR_CHECK:
3884  appendStringInfoString(str, "CHECK");
3885  WRITE_BOOL_FIELD(is_no_inherit);
3886  WRITE_NODE_FIELD(raw_expr);
3887  WRITE_STRING_FIELD(cooked_expr);
3888  break;
3889 
3890  case CONSTR_PRIMARY:
3891  appendStringInfoString(str, "PRIMARY_KEY");
3892  WRITE_NODE_FIELD(keys);
3893  WRITE_NODE_FIELD(including);
3895  WRITE_STRING_FIELD(indexname);
3896  WRITE_STRING_FIELD(indexspace);
3897  WRITE_BOOL_FIELD(reset_default_tblspc);
3898  /* access_method and where_clause not currently used */
3899  break;
3900 
3901  case CONSTR_UNIQUE:
3902  appendStringInfoString(str, "UNIQUE");
3903  WRITE_BOOL_FIELD(nulls_not_distinct);
3904  WRITE_NODE_FIELD(keys);
3905  WRITE_NODE_FIELD(including);
3907  WRITE_STRING_FIELD(indexname);
3908  WRITE_STRING_FIELD(indexspace);
3909  WRITE_BOOL_FIELD(reset_default_tblspc);
3910  /* access_method and where_clause not currently used */
3911  break;
3912 
3913  case CONSTR_EXCLUSION:
3914  appendStringInfoString(str, "EXCLUSION");
3915  WRITE_NODE_FIELD(exclusions);
3916  WRITE_NODE_FIELD(including);
3918  WRITE_STRING_FIELD(indexname);
3919  WRITE_STRING_FIELD(indexspace);
3920  WRITE_BOOL_FIELD(reset_default_tblspc);
3921  WRITE_STRING_FIELD(access_method);
3922  WRITE_NODE_FIELD(where_clause);
3923  break;
3924 
3925  case CONSTR_FOREIGN:
3926  appendStringInfoString(str, "FOREIGN_KEY");
3927  WRITE_NODE_FIELD(pktable);
3928  WRITE_NODE_FIELD(fk_attrs);
3929  WRITE_NODE_FIELD(pk_attrs);
3930  WRITE_CHAR_FIELD(fk_matchtype);
3931  WRITE_CHAR_FIELD(fk_upd_action);
3932  WRITE_CHAR_FIELD(fk_del_action);
3933  WRITE_NODE_FIELD(fk_del_set_cols);
3934  WRITE_NODE_FIELD(old_conpfeqop);
3935  WRITE_OID_FIELD(old_pktable_oid);
3936  WRITE_BOOL_FIELD(skip_validation);
3937  WRITE_BOOL_FIELD(initially_valid);
3938  break;
3939 
3941  appendStringInfoString(str, "ATTR_DEFERRABLE");
3942  break;
3943 
3945  appendStringInfoString(str, "ATTR_NOT_DEFERRABLE");
3946  break;
3947 
3948  case CONSTR_ATTR_DEFERRED:
3949  appendStringInfoString(str, "ATTR_DEFERRED");
3950  break;
3951 
3952  case CONSTR_ATTR_IMMEDIATE:
3953  appendStringInfoString(str, "ATTR_IMMEDIATE");
3954  break;
3955 
3956  default:
3957  appendStringInfo(str, "<unrecognized_constraint %d>",
3958  (int) node->contype);
3959  break;
3960  }
3961 }
@ CONSTR_FOREIGN
Definition: parsenodes.h:2588
@ CONSTR_ATTR_DEFERRED
Definition: parsenodes.h:2591
@ CONSTR_IDENTITY
Definition: parsenodes.h:2582
@ CONSTR_UNIQUE
Definition: parsenodes.h:2586
@ CONSTR_ATTR_NOT_DEFERRABLE
Definition: parsenodes.h:2590
@ CONSTR_DEFAULT
Definition: parsenodes.h:2581
@ CONSTR_NOTNULL
Definition: parsenodes.h:2580
@ CONSTR_ATTR_IMMEDIATE
Definition: parsenodes.h:2592
@ CONSTR_CHECK
Definition: parsenodes.h:2584
@ CONSTR_NULL
Definition: parsenodes.h:2578
@ CONSTR_GENERATED
Definition: parsenodes.h:2583
@ CONSTR_EXCLUSION
Definition: parsenodes.h:2587
@ CONSTR_ATTR_DEFERRABLE
Definition: parsenodes.h:2589
@ CONSTR_PRIMARY
Definition: parsenodes.h:2585
ConstrType contype
Definition: parsenodes.h:2610

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, generate_unaccent_rules::str, 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().

◆ _outConvertRowtypeExpr()

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

Definition at line 1480 of file outfuncs.c.

1481 {
1482  WRITE_NODE_TYPE("CONVERTROWTYPEEXPR");
1483 
1485  WRITE_OID_FIELD(resulttype);
1486  WRITE_ENUM_FIELD(convertformat, CoercionForm);
1487  WRITE_LOCATION_FIELD(location);
1488 }

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

Referenced by outNode().

◆ _outCreateForeignTableStmt()

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

Definition at line 2892 of file outfuncs.c.

2893 {
2894  WRITE_NODE_TYPE("CREATEFOREIGNTABLESTMT");
2895 
2896  _outCreateStmtInfo(str, (const CreateStmt *) node);
2897 
2898  WRITE_STRING_FIELD(servername);
2900 }
static void _outCreateStmtInfo(StringInfo str, const CreateStmt *node)
Definition: outfuncs.c:2867

References _outCreateStmtInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outCreateStatsStmt()

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

Definition at line 2947 of file outfuncs.c.

2948 {
2949  WRITE_NODE_TYPE("CREATESTATSSTMT");
2950 
2951  WRITE_NODE_FIELD(defnames);
2952  WRITE_NODE_FIELD(stat_types);
2953  WRITE_NODE_FIELD(exprs);
2954  WRITE_NODE_FIELD(relations);
2955  WRITE_STRING_FIELD(stxcomment);
2956  WRITE_BOOL_FIELD(transformed);
2957  WRITE_BOOL_FIELD(if_not_exists);
2958 }

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outCreateStmt()

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

Definition at line 2884 of file outfuncs.c.

2885 {
2886  WRITE_NODE_TYPE("CREATESTMT");
2887 
2888  _outCreateStmtInfo(str, (const CreateStmt *) node);
2889 }

References _outCreateStmtInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outCreateStmtInfo()

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

Definition at line 2867 of file outfuncs.c.

2868 {
2869  WRITE_NODE_FIELD(relation);
2870  WRITE_NODE_FIELD(tableElts);
2871  WRITE_NODE_FIELD(inhRelations);
2872  WRITE_NODE_FIELD(partspec);
2873  WRITE_NODE_FIELD(partbound);
2874  WRITE_NODE_FIELD(ofTypename);
2875  WRITE_NODE_FIELD(constraints);
2877  WRITE_ENUM_FIELD(oncommit, OnCommitAction);
2878  WRITE_STRING_FIELD(tablespacename);
2879  WRITE_STRING_FIELD(accessMethod);
2880  WRITE_BOOL_FIELD(if_not_exists);
2881 }
OnCommitAction
Definition: primnodes.h:48

References WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_STRING_FIELD.

Referenced by _outCreateForeignTableStmt(), and _outCreateStmt().

◆ _outCTECycleClause()

static void _outCTECycleClause ( StringInfo  str,
const CTECycleClause node 
)
static

Definition at line 3353 of file outfuncs.c.

3354 {
3355  WRITE_NODE_TYPE("CTECYCLECLAUSE");
3356 
3357  WRITE_NODE_FIELD(cycle_col_list);
3358  WRITE_STRING_FIELD(cycle_mark_column);
3359  WRITE_NODE_FIELD(cycle_mark_value);
3360  WRITE_NODE_FIELD(cycle_mark_default);
3361  WRITE_STRING_FIELD(cycle_path_column);
3362  WRITE_LOCATION_FIELD(location);
3363  WRITE_OID_FIELD(cycle_mark_type);
3364  WRITE_INT_FIELD(cycle_mark_typmod);
3365  WRITE_OID_FIELD(cycle_mark_collation);
3366  WRITE_OID_FIELD(cycle_mark_neop);
3367 }

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

Referenced by outNode().

◆ _outCteScan()

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

Definition at line 683 of file outfuncs.c.

684 {
685  WRITE_NODE_TYPE("CTESCAN");
686 
687  _outScanInfo(str, (const Scan *) node);
688 
689  WRITE_INT_FIELD(ctePlanId);
690  WRITE_INT_FIELD(cteParam);
691 }

References _outScanInfo(), generate_unaccent_rules::str, WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outCTESearchClause()

static void _outCTESearchClause ( StringInfo  str,
const CTESearchClause node 
)
static

Definition at line 3342 of file outfuncs.c.

3343 {
3344  WRITE_NODE_TYPE("CTESEARCHCLAUSE");
3345 
3346  WRITE_NODE_FIELD(search_col_list);
3347  WRITE_BOOL_FIELD(search_breadth_first);
3348  WRITE_STRING_FIELD(search_seq_column);
3349  WRITE_LOCATION_FIELD(location);
3350 }

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

Referenced by outNode().

◆ _outCurrentOfExpr()

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

Definition at line 1679 of file outfuncs.c.

1680 {
1681  WRITE_NODE_TYPE("CURRENTOFEXPR");
1682 
1683  WRITE_UINT_FIELD(cvarno);
1684  WRITE_STRING_FIELD(cursor_name);
1685  WRITE_INT_FIELD(cursor_param);
1686 }

References WRITE_INT_FIELD, WRITE_NODE_TYPE, WRITE_STRING_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outCustomPath()

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

Definition at line 2059 of file outfuncs.c.

2060 {
2061  WRITE_NODE_TYPE("CUSTOMPATH");
2062 
2063  _outPathInfo(str, (const Path *) node);
2064 
2065  WRITE_UINT_FIELD(flags);
2066  WRITE_NODE_FIELD(custom_paths);
2067  WRITE_NODE_FIELD(custom_private);
2068  appendStringInfoString(str, " :methods ");
2069  outToken(str, node->methods->CustomName);
2070 }
const char * CustomName
Definition: extensible.h:92
const struct CustomPathMethods * methods
Definition: pathnodes.h:1443

References _outPathInfo(), appendStringInfoString(), CustomPathMethods::CustomName, CustomPath::methods, outToken(), generate_unaccent_rules::str, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outCustomScan()

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

Definition at line 732 of file outfuncs.c.

733 {
734  WRITE_NODE_TYPE("CUSTOMSCAN");
735 
736  _outScanInfo(str, (const Scan *) node);
737 
738  WRITE_UINT_FIELD(flags);
739  WRITE_NODE_FIELD(custom_plans);
740  WRITE_NODE_FIELD(custom_exprs);
741  WRITE_NODE_FIELD(custom_private);
742  WRITE_NODE_FIELD(custom_scan_tlist);
743  WRITE_BITMAPSET_FIELD(custom_relids);
744  /* CustomName is a key to lookup CustomScanMethods */
745  appendStringInfoString(str, " :methods ");
746  outToken(str, node->methods->CustomName);
747 }
const char * CustomName
Definition: extensible.h:112
const struct CustomScanMethods * methods
Definition: plannodes.h:703

References _outScanInfo(), appendStringInfoString(), CustomScanMethods::CustomName, CustomScan::methods, outToken(), generate_unaccent_rules::str, WRITE_BITMAPSET_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outDeclareCursorStmt()

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

Definition at line 2980 of file outfuncs.c.

2981 {
2982  WRITE_NODE_TYPE("DECLARECURSORSTMT");
2983 
2984  WRITE_STRING_FIELD(portalname);
2986  WRITE_NODE_FIELD(query);
2987 }

References WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outDefElem()

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

Definition at line 3055 of file outfuncs.c.

3056 {
3057  WRITE_NODE_TYPE("DEFELEM");
3058 
3059  WRITE_STRING_FIELD(defnamespace);
3060  WRITE_STRING_FIELD(defname);
3062  WRITE_ENUM_FIELD(defaction, DefElemAction);
3063  WRITE_LOCATION_FIELD(location);
3064 }
DefElemAction
Definition: parsenodes.h:754

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

Referenced by outNode().

◆ _outDistinctExpr()

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

Definition at line 1302 of file outfuncs.c.

1303 {
1304  WRITE_NODE_TYPE("DISTINCTEXPR");
1305 
1306  WRITE_OID_FIELD(opno);
1307  WRITE_OID_FIELD(opfuncid);
1308  WRITE_OID_FIELD(opresulttype);
1309  WRITE_BOOL_FIELD(opretset);
1310  WRITE_OID_FIELD(opcollid);
1311  WRITE_OID_FIELD(inputcollid);
1313  WRITE_LOCATION_FIELD(location);
1314 }

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

Referenced by outNode().

◆ _outEquivalenceClass()

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

Definition at line 2625 of file outfuncs.c.

2626 {
2627  /*
2628  * To simplify reading, we just chase up to the topmost merged EC and
2629  * print that, without bothering to show the merge-ees separately.
2630  */
2631  while (node->ec_merged)
2632  node = node->ec_merged;
2633 
2634  WRITE_NODE_TYPE("EQUIVALENCECLASS");
2635 
2636  WRITE_NODE_FIELD(ec_opfamilies);
2637  WRITE_OID_FIELD(ec_collation);
2638  WRITE_NODE_FIELD(ec_members);
2639  WRITE_NODE_FIELD(ec_sources);
2640  WRITE_NODE_FIELD(ec_derives);
2641  WRITE_BITMAPSET_FIELD(ec_relids);
2642  WRITE_BOOL_FIELD(ec_has_const);
2643  WRITE_BOOL_FIELD(ec_has_volatile);
2644  WRITE_BOOL_FIELD(ec_below_outer_join);
2645  WRITE_BOOL_FIELD(ec_broken);
2646  WRITE_UINT_FIELD(ec_sortref);
2647  WRITE_UINT_FIELD(ec_min_security);
2648  WRITE_UINT_FIELD(ec_max_security);
2649 }
struct EquivalenceClass * ec_merged
Definition: pathnodes.h:1003

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().

◆ _outEquivalenceMember()

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

Definition at line 2652 of file outfuncs.c.

2653 {
2654  WRITE_NODE_TYPE("EQUIVALENCEMEMBER");
2655 
2656  WRITE_NODE_FIELD(em_expr);
2657  WRITE_BITMAPSET_FIELD(em_relids);
2658  WRITE_BITMAPSET_FIELD(em_nullable_relids);
2659  WRITE_BOOL_FIELD(em_is_const);
2660  WRITE_BOOL_FIELD(em_is_child);
2661  WRITE_OID_FIELD(em_datatype);
2662 }

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

Referenced by outNode().

◆ _outExtensibleNode()

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

Definition at line 2843 of file outfuncs.c.

2844 {
2845  const ExtensibleNodeMethods *methods;
2846 
2847  methods = GetExtensibleNodeMethods(node->extnodename, false);
2848 
2849  WRITE_NODE_TYPE("EXTENSIBLENODE");
2850 
2851  WRITE_STRING_FIELD(extnodename);
2852 
2853  /* serialize the private fields */
2854  methods->nodeOut(str, node);
2855 }
const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *extnodename, bool missing_ok)
Definition: extensible.c:125
void(* nodeOut)(struct StringInfoData *str, const struct ExtensibleNode *node)
Definition: extensible.h:68
const char * extnodename
Definition: extensible.h:35

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

Referenced by outNode().

◆ _outFieldSelect()

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

Definition at line 1418 of file outfuncs.c.

1419 {
1420  WRITE_NODE_TYPE("FIELDSELECT");
1421 
1423  WRITE_INT_FIELD(fieldnum);
1424  WRITE_OID_FIELD(resulttype);
1425  WRITE_INT_FIELD(resulttypmod);
1426  WRITE_OID_FIELD(resultcollid);
1427 }

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

Referenced by outNode().

◆ _outFieldStore()

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

Definition at line 1430 of file outfuncs.c.

1431 {
1432  WRITE_NODE_TYPE("FIELDSTORE");
1433 
1435  WRITE_NODE_FIELD(newvals);
1436  WRITE_NODE_FIELD(fieldnums);
1437  WRITE_OID_FIELD(resulttype);
1438 }

References arg, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outFloat()

static void _outFloat ( StringInfo  str,
const Float node 
)
static

Definition at line 3615 of file outfuncs.c.

3616 {
3617  /*
3618  * We assume the value is a valid numeric literal and so does not need
3619  * quoting.
3620  */
3622 }
char * fval
Definition: value.h:48

References appendStringInfoString(), Float::fval, and generate_unaccent_rules::str.

Referenced by outNode().

◆ _outForeignKeyCacheInfo()

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

Definition at line 3964 of file outfuncs.c.

3965 {
3966  WRITE_NODE_TYPE("FOREIGNKEYCACHEINFO");
3967 
3968  WRITE_OID_FIELD(conoid);
3969  WRITE_OID_FIELD(conrelid);
3970  WRITE_OID_FIELD(confrelid);
3971  WRITE_INT_FIELD(nkeys);
3972  WRITE_ATTRNUMBER_ARRAY(conkey, node->nkeys);
3973  WRITE_ATTRNUMBER_ARRAY(confkey, node->nkeys);
3974  WRITE_OID_ARRAY(conpfeqop, node->nkeys);
3975 }

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

Referenced by outNode().

◆ _outForeignKeyOptInfo()

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

Definition at line 2587 of file outfuncs.c.

2588 {
2589  int i;
2590 
2591  WRITE_NODE_TYPE("FOREIGNKEYOPTINFO");
2592 
2593  WRITE_UINT_FIELD(con_relid);
2594  WRITE_UINT_FIELD(ref_relid);
2595  WRITE_INT_FIELD(nkeys);
2596  WRITE_ATTRNUMBER_ARRAY(conkey, node->nkeys);
2597  WRITE_ATTRNUMBER_ARRAY(confkey, node->nkeys);
2598  WRITE_OID_ARRAY(conpfeqop, node->nkeys);
2599  WRITE_INT_FIELD(nmatched_ec);
2600  WRITE_INT_FIELD(nconst_ec);
2601  WRITE_INT_FIELD(nmatched_rcols);
2602  WRITE_INT_FIELD(nmatched_ri);
2603  /* for compactness, just print the number of matches per column: */
2604  appendStringInfoString(str, " :eclass");
2605  for (i = 0; i < node->nkeys; i++)
2606  appendStringInfo(str, " %d", (node->eclass[i] != NULL));
2607  appendStringInfoString(str, " :rinfos");
2608  for (i = 0; i < node->nkeys; i++)
2609  appendStringInfo(str, " %d", list_length(node->rinfos[i]));
2610 }
static int list_length(const List *l)
Definition: pg_list.h:149
struct EquivalenceClass * eclass[INDEX_MAX_KEYS]
Definition: pathnodes.h:919
List * rinfos[INDEX_MAX_KEYS]
Definition: pathnodes.h:923

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

Referenced by outNode().

◆ _outForeignPath()

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

Definition at line 2048 of file outfuncs.c.

2049 {
2050  WRITE_NODE_TYPE("FOREIGNPATH");
2051 
2052  _outPathInfo(str, (const Path *) node);
2053 
2054  WRITE_NODE_FIELD(fdw_outerpath);
2055  WRITE_NODE_FIELD(fdw_private);
2056 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outForeignScan()

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

Definition at line 714 of file outfuncs.c.

715 {
716  WRITE_NODE_TYPE("FOREIGNSCAN");
717 
718  _outScanInfo(str, (const Scan *) node);
719 
720  WRITE_ENUM_FIELD(operation, CmdType);
721  WRITE_UINT_FIELD(resultRelation);
722  WRITE_OID_FIELD(fs_server);
723  WRITE_NODE_FIELD(fdw_exprs);
724  WRITE_NODE_FIELD(fdw_private);
725  WRITE_NODE_FIELD(fdw_scan_tlist);
726  WRITE_NODE_FIELD(fdw_recheck_quals);
727  WRITE_BITMAPSET_FIELD(fs_relids);
728  WRITE_BOOL_FIELD(fsSystemCol);
729 }
CmdType
Definition: nodes.h:719

References _outScanInfo(), generate_unaccent_rules::str, WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outFromExpr()

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

Definition at line 1746 of file outfuncs.c.

1747 {
1748  WRITE_NODE_TYPE("FROMEXPR");
1749 
1750  WRITE_NODE_FIELD(fromlist);
1751  WRITE_NODE_FIELD(quals);
1752 }

References WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outFuncCall()

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

Definition at line 3037 of file outfuncs.c.

3038 {
3039  WRITE_NODE_TYPE("FUNCCALL");
3040 
3041  WRITE_NODE_FIELD(funcname);
3043  WRITE_NODE_FIELD(agg_order);
3044  WRITE_NODE_FIELD(agg_filter);
3045  WRITE_NODE_FIELD(over);
3046  WRITE_BOOL_FIELD(agg_within_group);
3047  WRITE_BOOL_FIELD(agg_star);
3048  WRITE_BOOL_FIELD(agg_distinct);
3049  WRITE_BOOL_FIELD(func_variadic);
3050  WRITE_ENUM_FIELD(funcformat, CoercionForm);
3051  WRITE_LOCATION_FIELD(location);
3052 }

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

Referenced by outNode().

◆ _outFuncExpr()

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

Definition at line 1260 of file outfuncs.c.

1261 {
1262  WRITE_NODE_TYPE("FUNCEXPR");
1263 
1264  WRITE_OID_FIELD(funcid);
1265  WRITE_OID_FIELD(funcresulttype);
1266  WRITE_BOOL_FIELD(funcretset);
1267  WRITE_BOOL_FIELD(funcvariadic);
1268  WRITE_ENUM_FIELD(funcformat, CoercionForm);
1269  WRITE_OID_FIELD(funccollid);
1270  WRITE_OID_FIELD(inputcollid);
1272  WRITE_LOCATION_FIELD(location);
1273 }

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().

◆ _outFunctionScan()

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

Definition at line 652 of file outfuncs.c.

653 {
654  WRITE_NODE_TYPE("FUNCTIONSCAN");
655 
656  _outScanInfo(str, (const Scan *) node);
657 
659  WRITE_BOOL_FIELD(funcordinality);
660 }
static const struct fns functions
Definition: regcomp.c:313

References _outScanInfo(), functions, generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outGather()

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

Definition at line 510 of file outfuncs.c.

511 {
512  WRITE_NODE_TYPE("GATHER");
513 
514  _outPlanInfo(str, (const Plan *) node);
515 
516  WRITE_INT_FIELD(num_workers);
517  WRITE_INT_FIELD(rescan_param);
518  WRITE_BOOL_FIELD(single_copy);
519  WRITE_BOOL_FIELD(invisible);
520  WRITE_BITMAPSET_FIELD(initParam);
521 }

References _outPlanInfo(), generate_unaccent_rules::str, WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outGatherMerge()

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

Definition at line 524 of file outfuncs.c.

525 {
526  WRITE_NODE_TYPE("GATHERMERGE");
527 
528  _outPlanInfo(str, (const Plan *) node);
529 
530  WRITE_INT_FIELD(num_workers);
531  WRITE_INT_FIELD(rescan_param);
532  WRITE_INT_FIELD(numCols);
533  WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
534  WRITE_OID_ARRAY(sortOperators, node->numCols);
535  WRITE_OID_ARRAY(collations, node->numCols);
536  WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
537  WRITE_BITMAPSET_FIELD(initParam);
538 }
#define WRITE_BOOL_ARRAY(fldname, len)
Definition: outfuncs.c:148

References _outPlanInfo(), GatherMerge::numCols, generate_unaccent_rules::str, WRITE_ATTRNUMBER_ARRAY, WRITE_BITMAPSET_FIELD, WRITE_BOOL_ARRAY, WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

◆ _outGatherMergePath()

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

Definition at line 2381 of file outfuncs.c.

2382 {
2383  WRITE_NODE_TYPE("GATHERMERGEPATH");
2384 
2385  _outPathInfo(str, (const Path *) node);
2386 
2388  WRITE_INT_FIELD(num_workers);
2389 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outGatherPath()

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

Definition at line 2145 of file outfuncs.c.

2146 {
2147  WRITE_NODE_TYPE("GATHERPATH");
2148 
2149  _outPathInfo(str, (const Path *) node);
2150 
2152  WRITE_BOOL_FIELD(single_copy);
2153  WRITE_INT_FIELD(num_workers);
2154 }

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

Referenced by outNode().

◆ _outGroup()

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

Definition at line 850 of file outfuncs.c.

851 {
852  WRITE_NODE_TYPE("GROUP");
853 
854  _outPlanInfo(str, (const Plan *) node);
855 
856  WRITE_INT_FIELD(numCols);
857  WRITE_ATTRNUMBER_ARRAY(grpColIdx, node->numCols);
858  WRITE_OID_ARRAY(grpOperators, node->numCols);
859  WRITE_OID_ARRAY(grpCollations, node->numCols);
860 }
int numCols
Definition: plannodes.h:874

References _outPlanInfo(), Group::numCols, generate_unaccent_rules::str, WRITE_ATTRNUMBER_ARRAY, WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

◆ _outGroupingFunc()

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

Definition at line 1215 of file outfuncs.c.

1216 {
1217  WRITE_NODE_TYPE("GROUPINGFUNC");
1218 
1220  WRITE_NODE_FIELD(refs);
1221  WRITE_NODE_FIELD(cols);
1222  WRITE_UINT_FIELD(agglevelsup);
1223  WRITE_LOCATION_FIELD(location);
1224 }

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

Referenced by outNode().

◆ _outGroupingSet()

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

Definition at line 3289 of file outfuncs.c.

3290 {
3291  WRITE_NODE_TYPE("GROUPINGSET");
3292 
3294  WRITE_NODE_FIELD(content);
3295  WRITE_LOCATION_FIELD(location);
3296 }
GroupingSetKind
Definition: parsenodes.h:1363

References WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outGroupingSetData()

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

Definition at line 2256 of file outfuncs.c.

2257 {
2258  WRITE_NODE_TYPE("GSDATA");
2259 
2260  WRITE_NODE_FIELD(set);
2261  WRITE_FLOAT_FIELD(numGroups, "%.0f");
2262 }

References WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outGroupingSetsPath()

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

Definition at line 2265 of file outfuncs.c.

2266 {
2267  WRITE_NODE_TYPE("GROUPINGSETSPATH");
2268 
2269  _outPathInfo(str, (const Path *) node);
2270 
2272  WRITE_ENUM_FIELD(aggstrategy, AggStrategy);
2273  WRITE_NODE_FIELD(rollups);
2274  WRITE_NODE_FIELD(qual);
2275  WRITE_UINT64_FIELD(transitionSpace);
2276 }

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

Referenced by outNode().

◆ _outGroupPath()

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

Definition at line 2204 of file outfuncs.c.

2205 {
2206  WRITE_NODE_TYPE("GROUPPATH");
2207 
2208  _outPathInfo(str, (const Path *) node);
2209 
2211  WRITE_NODE_FIELD(groupClause);
2212  WRITE_NODE_FIELD(qual);
2213 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outGroupResultPath()

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

Definition at line 2096 of file outfuncs.c.

2097 {
2098  WRITE_NODE_TYPE("GROUPRESULTPATH");
2099 
2100  _outPathInfo(str, (const Path *) node);
2101 
2102  WRITE_NODE_FIELD(quals);
2103 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outHash()

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

Definition at line 931 of file outfuncs.c.

932 {
933  WRITE_NODE_TYPE("HASH");
934 
935  _outPlanInfo(str, (const Plan *) node);
936 
937  WRITE_NODE_FIELD(hashkeys);
938  WRITE_OID_FIELD(skewTable);
939  WRITE_INT_FIELD(skewColumn);
940  WRITE_BOOL_FIELD(skewInherit);
941  WRITE_FLOAT_FIELD(rows_total, "%.0f");
942 }

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

Referenced by outNode().

◆ _outHashJoin()

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

Definition at line 788 of file outfuncs.c.

789 {
790  WRITE_NODE_TYPE("HASHJOIN");
791 
792  _outJoinPlanInfo(str, (const Join *) node);
793 
794  WRITE_NODE_FIELD(hashclauses);
795  WRITE_NODE_FIELD(hashoperators);
796  WRITE_NODE_FIELD(hashcollations);
797  WRITE_NODE_FIELD(hashkeys);
798 }
static void _outJoinPlanInfo(StringInfo str, const Join *node)
Definition: outfuncs.c:376

References _outJoinPlanInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outHashPath()

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

Definition at line 2414 of file outfuncs.c.

2415 {
2416  WRITE_NODE_TYPE("HASHPATH");
2417 
2418  _outJoinPathInfo(str, (const JoinPath *) node);
2419 
2420  WRITE_NODE_FIELD(path_hashclauses);
2421  WRITE_INT_FIELD(num_batches);
2422  WRITE_FLOAT_FIELD(inner_rows_total, "%.0f");
2423 }
static void _outJoinPathInfo(StringInfo str, const JoinPath *node)
Definition: outfuncs.c:1950

References _outJoinPathInfo(), generate_unaccent_rules::str, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outImportForeignSchemaStmt()

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

Definition at line 2903 of file outfuncs.c.

2904 {
2905  WRITE_NODE_TYPE("IMPORTFOREIGNSCHEMASTMT");
2906 
2907  WRITE_STRING_FIELD(server_name);
2908  WRITE_STRING_FIELD(remote_schema);
2909  WRITE_STRING_FIELD(local_schema);
2911  WRITE_NODE_FIELD(table_list);
2913 }
ImportForeignSchemaType
Definition: parsenodes.h:2824

References WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outIncrementalSort()

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

Definition at line 908 of file outfuncs.c.

909 {
910  WRITE_NODE_TYPE("INCREMENTALSORT");
911 
912  _outSortInfo(str, (const Sort *) node);
913 
914  WRITE_INT_FIELD(nPresortedCols);
915 }
static void _outSortInfo(StringInfo str, const Sort *node)
Definition: outfuncs.c:888

References _outSortInfo(), generate_unaccent_rules::str, WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outIncrementalSortPath()

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

Definition at line 2194 of file outfuncs.c.

2195 {
2196  WRITE_NODE_TYPE("INCREMENTALSORTPATH");
2197 
2198  _outSortPathInfo(str, (const SortPath *) node);
2199 
2200  WRITE_INT_FIELD(nPresortedCols);
2201 }
static void _outSortPathInfo(StringInfo str, const SortPath *node)
Definition: outfuncs.c:2178

References _outSortPathInfo(), generate_unaccent_rules::str, WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outIndexClause()

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

Definition at line 2734 of file outfuncs.c.

2735 {
2736  WRITE_NODE_TYPE("INDEXCLAUSE");
2737 
2738  WRITE_NODE_FIELD(rinfo);
2739  WRITE_NODE_FIELD(indexquals);
2740  WRITE_BOOL_FIELD(lossy);
2741  WRITE_INT_FIELD(indexcol);
2742  WRITE_NODE_FIELD(indexcols);
2743 }

References WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outIndexElem()

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

Definition at line 3168 of file outfuncs.c.

3169 {
3170  WRITE_NODE_TYPE("INDEXELEM");
3171 
3173  WRITE_NODE_FIELD(expr);
3174  WRITE_STRING_FIELD(indexcolname);
3175  WRITE_NODE_FIELD(collation);
3176  WRITE_NODE_FIELD(opclass);
3177  WRITE_NODE_FIELD(opclassopts);
3178  WRITE_ENUM_FIELD(ordering, SortByDir);
3179  WRITE_ENUM_FIELD(nulls_ordering, SortByNulls);
3180 }
SortByNulls
Definition: parsenodes.h:59
SortByDir
Definition: parsenodes.h:51

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

Referenced by outNode().

◆ _outIndexOnlyScan()

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

Definition at line 583 of file outfuncs.c.

584 {
585  WRITE_NODE_TYPE("INDEXONLYSCAN");
586 
587  _outScanInfo(str, (const Scan *) node);
588 
589  WRITE_OID_FIELD(indexid);
590  WRITE_NODE_FIELD(indexqual);
591  WRITE_NODE_FIELD(recheckqual);
592  WRITE_NODE_FIELD(indexorderby);
593  WRITE_NODE_FIELD(indextlist);
594  WRITE_ENUM_FIELD(indexorderdir, ScanDirection);
595 }
ScanDirection
Definition: sdir.h:23

References _outScanInfo(), generate_unaccent_rules::str, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outIndexOptInfo()

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

Definition at line 2562 of file outfuncs.c.

2563 {
2564  WRITE_NODE_TYPE("INDEXOPTINFO");
2565 
2566  /* NB: this isn't a complete set of fields */
2567  WRITE_OID_FIELD(indexoid);
2568  /* Do NOT print rel field, else infinite recursion */
2569  WRITE_UINT_FIELD(pages);
2570  WRITE_FLOAT_FIELD(tuples, "%.0f");
2571  WRITE_INT_FIELD(tree_height);
2572  WRITE_INT_FIELD(ncolumns);
2573  /* array fields aren't really worth the trouble to print */
2574  WRITE_OID_FIELD(relam);
2575  /* indexprs is redundant since we print indextlist */
2576  WRITE_NODE_FIELD(indpred);
2577  WRITE_NODE_FIELD(indextlist);
2578  WRITE_NODE_FIELD(indrestrictinfo);
2579  WRITE_BOOL_FIELD(predOK);
2580  WRITE_BOOL_FIELD(unique);
2581  WRITE_BOOL_FIELD(immediate);
2582  WRITE_BOOL_FIELD(hypothetical);
2583  /* we don't bother with fields copied from the index AM's API struct */
2584 }

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().

◆ _outIndexPath()

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

Definition at line 1970 of file outfuncs.c.

1971 {
1972  WRITE_NODE_TYPE("INDEXPATH");
1973 
1974  _outPathInfo(str, (const Path *) node);
1975 
1976  WRITE_NODE_FIELD(indexinfo);
1977  WRITE_NODE_FIELD(indexclauses);
1978  WRITE_NODE_FIELD(indexorderbys);
1979  WRITE_NODE_FIELD(indexorderbycols);
1980  WRITE_ENUM_FIELD(indexscandir, ScanDirection);
1981  WRITE_FLOAT_FIELD(indextotalcost, "%.2f");
1982  WRITE_FLOAT_FIELD(indexselectivity, "%.4f");
1983 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_ENUM_FIELD, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outIndexScan()

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

Definition at line 567 of file outfuncs.c.

568 {
569  WRITE_NODE_TYPE("INDEXSCAN");
570 
571  _outScanInfo(str, (const Scan *) node);
572 
573  WRITE_OID_FIELD(indexid);
574  WRITE_NODE_FIELD(indexqual);
575  WRITE_NODE_FIELD(indexqualorig);
576  WRITE_NODE_FIELD(indexorderby);
577  WRITE_NODE_FIELD(indexorderbyorig);
578  WRITE_NODE_FIELD(indexorderbyops);
579  WRITE_ENUM_FIELD(indexorderdir, ScanDirection);
580 }

References _outScanInfo(), generate_unaccent_rules::str, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outIndexStmt()

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

Definition at line 2916 of file outfuncs.c.

2917 {
2918  WRITE_NODE_TYPE("INDEXSTMT");
2919 
2920  WRITE_STRING_FIELD(idxname);
2921  WRITE_NODE_FIELD(relation);
2922  WRITE_STRING_FIELD(accessMethod);
2923  WRITE_STRING_FIELD(tableSpace);
2924  WRITE_NODE_FIELD(indexParams);
2925  WRITE_NODE_FIELD(indexIncludingParams);
2927  WRITE_NODE_FIELD(whereClause);
2928  WRITE_NODE_FIELD(excludeOpNames);
2929  WRITE_STRING_FIELD(idxcomment);
2930  WRITE_OID_FIELD(indexOid);
2931  WRITE_OID_FIELD(oldNode);
2932  WRITE_UINT_FIELD(oldCreateSubid);
2933  WRITE_UINT_FIELD(oldFirstRelfilenodeSubid);
2934  WRITE_BOOL_FIELD(unique);
2935  WRITE_BOOL_FIELD(nulls_not_distinct);
2936  WRITE_BOOL_FIELD(primary);
2937  WRITE_BOOL_FIELD(isconstraint);
2938  WRITE_BOOL_FIELD(deferrable);
2939  WRITE_BOOL_FIELD(initdeferred);
2940  WRITE_BOOL_FIELD(transformed);
2941  WRITE_BOOL_FIELD(concurrent);
2942  WRITE_BOOL_FIELD(if_not_exists);
2943  WRITE_BOOL_FIELD(reset_default_tblspc);
2944 }

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

Referenced by outNode().

◆ _outInferenceElem()

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

Definition at line 1698 of file outfuncs.c.

1699 {
1700  WRITE_NODE_TYPE("INFERENCEELEM");
1701 
1702  WRITE_NODE_FIELD(expr);
1703  WRITE_OID_FIELD(infercollid);
1704  WRITE_OID_FIELD(inferopclass);
1705 }

References WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outInteger()

static void _outInteger ( StringInfo  str,
const Integer node 
)
static

Definition at line 3609 of file outfuncs.c.

3610 {
3611  appendStringInfo(str, "%d", node->ival);
3612 }
int ival
Definition: value.h:31

References appendStringInfo(), Integer::ival, and generate_unaccent_rules::str.

Referenced by outNode().

◆ _outIntoClause()

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

Definition at line 1125 of file outfuncs.c.

1126 {
1127  WRITE_NODE_TYPE("INTOCLAUSE");
1128 
1129  WRITE_NODE_FIELD(rel);
1130  WRITE_NODE_FIELD(colNames);
1131  WRITE_STRING_FIELD(accessMethod);
1133  WRITE_ENUM_FIELD(onCommit, OnCommitAction);
1134  WRITE_STRING_FIELD(tableSpaceName);
1135  WRITE_NODE_FIELD(viewQuery);
1136  WRITE_BOOL_FIELD(skipData);
1137 }

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

Referenced by outNode().

◆ _outJoin()

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

Definition at line 750 of file outfuncs.c.

751 {
752  WRITE_NODE_TYPE("JOIN");
753 
754  _outJoinPlanInfo(str, (const Join *) node);
755 }

References _outJoinPlanInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outJoinExpr()

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

Definition at line 1730 of file outfuncs.c.

1731 {
1732  WRITE_NODE_TYPE("JOINEXPR");
1733 
1734  WRITE_ENUM_FIELD(jointype, JoinType);
1735  WRITE_BOOL_FIELD(isNatural);
1736  WRITE_NODE_FIELD(larg);
1737  WRITE_NODE_FIELD(rarg);
1738  WRITE_NODE_FIELD(usingClause);
1739  WRITE_NODE_FIELD(join_using_alias);
1740  WRITE_NODE_FIELD(quals);
1741  WRITE_NODE_FIELD(alias);
1742  WRITE_INT_FIELD(rtindex);
1743 }
JoinType
Definition: nodes.h:744

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

Referenced by outNode().

◆ _outJoinPathInfo()

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

Definition at line 1950 of file outfuncs.c.

1951 {
1952  _outPathInfo(str, (const Path *) node);
1953 
1954  WRITE_ENUM_FIELD(jointype, JoinType);
1955  WRITE_BOOL_FIELD(inner_unique);
1956  WRITE_NODE_FIELD(outerjoinpath);
1957  WRITE_NODE_FIELD(innerjoinpath);
1958  WRITE_NODE_FIELD(joinrestrictinfo);
1959 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, and WRITE_NODE_FIELD.

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

◆ _outJoinPlanInfo()

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

Definition at line 376 of file outfuncs.c.

377 {
378  _outPlanInfo(str, (const Plan *) node);
379 
380  WRITE_ENUM_FIELD(jointype, JoinType);
381  WRITE_BOOL_FIELD(inner_unique);
382  WRITE_NODE_FIELD(joinqual);
383 }

References _outPlanInfo(), generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, and WRITE_NODE_FIELD.

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

◆ _outJsonBehavior()

static void _outJsonBehavior ( StringInfo  str,
const JsonBehavior node 
)
static

Definition at line 1827 of file outfuncs.c.

1828 {
1829  WRITE_NODE_TYPE("JSONBEHAVIOR");
1830 
1832  WRITE_NODE_FIELD(default_expr);
1833 }
JsonBehaviorType
Definition: primnodes.h:1289

References WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outJsonCoercion()

static void _outJsonCoercion ( StringInfo  str,
const JsonCoercion node 
)
static

Definition at line 1857 of file outfuncs.c.

1858 {
1859  WRITE_NODE_TYPE("JSONCOERCION");
1860 
1861  WRITE_NODE_FIELD(expr);
1862  WRITE_BOOL_FIELD(via_populate);
1863  WRITE_BOOL_FIELD(via_io);
1864  WRITE_OID_FIELD(collation);
1865 }

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outJsonConstructorExpr()

static void _outJsonConstructorExpr ( StringInfo  str,
const JsonConstructorExpr node 
)
static

Definition at line 1800 of file outfuncs.c.

1801 {
1802  WRITE_NODE_TYPE("JSONCONSTRUCTOREXPR");
1803 
1806  WRITE_NODE_FIELD(func);
1807  WRITE_NODE_FIELD(coercion);
1808  WRITE_NODE_FIELD(returning);
1809  WRITE_BOOL_FIELD(absent_on_null);
1810  WRITE_BOOL_FIELD(unique);
1811  WRITE_LOCATION_FIELD(location);
1812 }
JsonConstructorType
Definition: primnodes.h:1349

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

Referenced by outNode().

◆ _outJsonExpr()

static void _outJsonExpr ( StringInfo  str,
const JsonExpr node 
)
static

Definition at line 1836 of file outfuncs.c.

1837 {
1838  WRITE_NODE_TYPE("JSONEXPR");
1839 
1841  WRITE_NODE_FIELD(formatted_expr);
1842  WRITE_NODE_FIELD(result_coercion);
1844  WRITE_NODE_FIELD(path_spec);
1845  WRITE_NODE_FIELD(passing_names);
1846  WRITE_NODE_FIELD(passing_values);
1847  WRITE_NODE_FIELD(returning);
1848  WRITE_NODE_FIELD(on_empty);
1849  WRITE_NODE_FIELD(on_error);
1850  WRITE_NODE_FIELD(coercions);
1851  WRITE_ENUM_FIELD(wrapper, JsonWrapper);
1852  WRITE_BOOL_FIELD(omit_quotes);
1853  WRITE_LOCATION_FIELD(location);
1854 }
static char format
JsonWrapper
Definition: primnodes.h:1306
JsonExprOp
Definition: primnodes.h:1250

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

Referenced by outNode().

◆ _outJsonFormat()

static void _outJsonFormat ( StringInfo  str,
const JsonFormat node 
)
static

Definition at line 1770 of file outfuncs.c.

1771 {
1772  WRITE_NODE_TYPE("JSONFORMAT");
1773 
1776  WRITE_LOCATION_FIELD(location);
1777 }
Datum format_type(PG_FUNCTION_ARGS)
Definition: format_type.c:60
int32 encoding
Definition: pg_database.h:41
JsonFormatType
Definition: primnodes.h:1274
JsonEncoding
Definition: primnodes.h:1262

References encoding, format_type(), WRITE_ENUM_FIELD, WRITE_LOCATION_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outJsonIsPredicate()

static void _outJsonIsPredicate ( StringInfo  str,
const JsonIsPredicate node 
)
static

Definition at line 1815 of file outfuncs.c.

1816 {
1817  WRITE_NODE_TYPE("JSONISPREDICATE");
1818 
1819  WRITE_NODE_FIELD(expr);
1821  WRITE_ENUM_FIELD(item_type, JsonValueType);
1822  WRITE_BOOL_FIELD(unique_keys);
1823  WRITE_LOCATION_FIELD(location);
1824 }
JsonValueType
Definition: primnodes.h:1381

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

Referenced by outNode().

◆ _outJsonItemCoercions()

static void _outJsonItemCoercions ( StringInfo  str,
const JsonItemCoercions node 
)
static

Definition at line 1868 of file outfuncs.c.

1869 {
1870  WRITE_NODE_TYPE("JSONITEMCOERCIONS");
1871 
1872  WRITE_NODE_FIELD(null);
1873  WRITE_NODE_FIELD(string);
1875  WRITE_NODE_FIELD(boolean);
1877  WRITE_NODE_FIELD(time);
1878  WRITE_NODE_FIELD(timetz);
1880  WRITE_NODE_FIELD(timestamptz);
1881  WRITE_NODE_FIELD(composite);
1882 }
long date
Definition: pgtypes_date.h:9
int64 timestamp

References WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outJsonReturning()

static void _outJsonReturning ( StringInfo  str,
const JsonReturning node 
)
static

Definition at line 1780 of file outfuncs.c.

1781 {
1782  WRITE_NODE_TYPE("JSONRETURNING");
1783 
1785  WRITE_OID_FIELD(typid);
1786  WRITE_INT_FIELD(typmod);
1787 }

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

Referenced by outNode().

◆ _outJsonTableParent()

static void _outJsonTableParent ( StringInfo  str,
const JsonTableParent node 
)
static

Definition at line 1885 of file outfuncs.c.

1886 {
1887  WRITE_NODE_TYPE("JSONTABLEPARENT");
1888 
1889  WRITE_NODE_FIELD(path);
1891  WRITE_NODE_FIELD(child);
1892  WRITE_BOOL_FIELD(outerJoin);
1893  WRITE_INT_FIELD(colMin);
1894  WRITE_INT_FIELD(colMax);
1895  WRITE_BOOL_FIELD(errorOnError);
1896 }

References name, WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outJsonTableSibling()

static void _outJsonTableSibling ( StringInfo  str,
const JsonTableSibling node 
)
static

Definition at line 1899 of file outfuncs.c.

1900 {
1901  WRITE_NODE_TYPE("JSONTABLESIBLING");
1902 
1903  WRITE_NODE_FIELD(larg);
1904  WRITE_NODE_FIELD(rarg);
1905  WRITE_BOOL_FIELD(cross);
1906 }

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outJsonValueExpr()

static void _outJsonValueExpr ( StringInfo  str,
const JsonValueExpr node 
)
static

Definition at line 1790 of file outfuncs.c.

1791 {
1792  WRITE_NODE_TYPE("JSONVALUEEXPR");
1793 
1794  WRITE_NODE_FIELD(raw_expr);
1795  WRITE_NODE_FIELD(formatted_expr);
1797 }

References format, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outLimit()

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

Definition at line 974 of file outfuncs.c.

975 {
976  WRITE_NODE_TYPE("LIMIT");
977 
978  _outPlanInfo(str, (const Plan *) node);
979 
980  WRITE_NODE_FIELD(limitOffset);
981  WRITE_NODE_FIELD(limitCount);
982  WRITE_ENUM_FIELD(limitOption, LimitOption);
983  WRITE_INT_FIELD(uniqNumCols);
984  WRITE_ATTRNUMBER_ARRAY(uniqColIdx, node->uniqNumCols);
985  WRITE_OID_ARRAY(uniqOperators, node->uniqNumCols);
986  WRITE_OID_ARRAY(uniqCollations, node->uniqNumCols);
987 }
LimitOption
Definition: nodes.h:883
int uniqNumCols
Definition: plannodes.h:1068

References _outPlanInfo(), generate_unaccent_rules::str, Limit::uniqNumCols, WRITE_ATTRNUMBER_ARRAY, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

◆ _outLimitPath()

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

Definition at line 2368 of file outfuncs.c.

2369 {
2370  WRITE_NODE_TYPE("LIMITPATH");
2371 
2372  _outPathInfo(str, (const Path *) node);
2373 
2375  WRITE_NODE_FIELD(limitOffset);
2376  WRITE_NODE_FIELD(limitCount);
2377  WRITE_ENUM_FIELD(limitOption, LimitOption);
2378 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outList()

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

Definition at line 214 of file outfuncs.c.

215 {
216  const ListCell *lc;
217 
219 
220  if (IsA(node, IntList))
222  else if (IsA(node, OidList))
224 
225  foreach(lc, node)
226  {
227  /*
228  * For the sake of backward compatibility, we emit a slightly
229  * different whitespace format for lists of nodes vs. other types of
230  * lists. XXX: is this necessary?
231  */
232  if (IsA(node, List))
233  {
234  outNode(str, lfirst(lc));
235  if (lnext(node, lc))
237  }
238  else if (IsA(node, IntList))
239  appendStringInfo(str, " %d", lfirst_int(lc));
240  else if (IsA(node, OidList))
241  appendStringInfo(str, " %u", lfirst_oid(lc));
242  else
243  elog(ERROR, "unrecognized list node type: %d",
244  (int) node->type);
245  }
246 
248 }
#define ERROR
Definition: elog.h:33
#define elog(elevel,...)
Definition: elog.h:218
#define IsA(nodeptr, _type_)
Definition: nodes.h:624
#define lfirst(lc)
Definition: pg_list.h:169
#define lfirst_int(lc)
Definition: pg_list.h:170
static ListCell * lnext(const List *l, const ListCell *c)
Definition: pg_list.h:322
#define lfirst_oid(lc)
Definition: pg_list.h:171
Definition: pg_list.h:51
NodeTag type
Definition: pg_list.h:52

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

Referenced by outNode().

◆ _outLockingClause()

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

Definition at line 3077 of file outfuncs.c.

3078 {
3079  WRITE_NODE_TYPE("LOCKINGCLAUSE");
3080 
3081  WRITE_NODE_FIELD(lockedRels);
3083  WRITE_ENUM_FIELD(waitPolicy, LockWaitPolicy);
3084 }
LockWaitPolicy
Definition: lockoptions.h:37
LockClauseStrength
Definition: lockoptions.h:22

References WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outLockRows()

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

Definition at line 963 of file outfuncs.c.

964 {
965  WRITE_NODE_TYPE("LOCKROWS");
966 
967  _outPlanInfo(str, (const Plan *) node);
968 
969  WRITE_NODE_FIELD(rowMarks);
970  WRITE_INT_FIELD(epqParam);
971 }

References _outPlanInfo(), generate_unaccent_rules::str, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outLockRowsPath()

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

Definition at line 2333 of file outfuncs.c.

2334 {
2335  WRITE_NODE_TYPE("LOCKROWSPATH");
2336 
2337  _outPathInfo(str, (const Path *) node);
2338 
2340  WRITE_NODE_FIELD(rowMarks);
2341  WRITE_INT_FIELD(epqParam);
2342 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMaterial()

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

Definition at line 863 of file outfuncs.c.

864 {
865  WRITE_NODE_TYPE("MATERIAL");
866 
867  _outPlanInfo(str, (const Plan *) node);
868 }

References _outPlanInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMaterialPath()

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

Definition at line 2106 of file outfuncs.c.

2107 {
2108  WRITE_NODE_TYPE("MATERIALPATH");
2109 
2110  _outPathInfo(str, (const Path *) node);
2111 
2113 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMemoize()

static void _outMemoize ( StringInfo  str,
const Memoize node 
)
static

Definition at line 871 of file outfuncs.c.

872 {
873  WRITE_NODE_TYPE("MEMOIZE");
874 
875  _outPlanInfo(str, (const Plan *) node);
876 
877  WRITE_INT_FIELD(numKeys);
878  WRITE_OID_ARRAY(hashOperators, node->numKeys);
879  WRITE_OID_ARRAY(collations, node->numKeys);
880  WRITE_NODE_FIELD(param_exprs);
881  WRITE_BOOL_FIELD(singlerow);
882  WRITE_BOOL_FIELD(binary_mode);
883  WRITE_UINT_FIELD(est_entries);
884  WRITE_BITMAPSET_FIELD(keyparamids);
885 }
int numKeys
Definition: plannodes.h:824

References _outPlanInfo(), Memoize::numKeys, generate_unaccent_rules::str, WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_ARRAY, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outMemoizePath()

static void _outMemoizePath ( StringInfo  str,
const MemoizePath node 
)
static

Definition at line 2116 of file outfuncs.c.

2117 {
2118  WRITE_NODE_TYPE("MEMOIZEPATH");
2119 
2120  _outPathInfo(str, (const Path *) node);
2121 
2123  WRITE_NODE_FIELD(hash_operators);
2124  WRITE_NODE_FIELD(param_exprs);
2125  WRITE_BOOL_FIELD(singlerow);
2126  WRITE_BOOL_FIELD(binary_mode);
2127  WRITE_FLOAT_FIELD(calls, "%.0f");
2128  WRITE_UINT_FIELD(est_entries);
2129 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_BOOL_FIELD, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outMergeAction()

static void _outMergeAction ( StringInfo  str,
const MergeAction node 
)
static

Definition at line 3403 of file outfuncs.c.

3404 {
3405  WRITE_NODE_TYPE("MERGEACTION");
3406 
3407  WRITE_BOOL_FIELD(matched);
3408  WRITE_ENUM_FIELD(commandType, CmdType);
3409  WRITE_ENUM_FIELD(override, OverridingKind);
3410  WRITE_NODE_FIELD(qual);
3411  WRITE_NODE_FIELD(targetList);
3412  WRITE_NODE_FIELD(updateColnos);
3413 }
OverridingKind
Definition: parsenodes.h:33

References WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMergeAppend()

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

Definition at line 457 of file outfuncs.c.

458 {
459  WRITE_NODE_TYPE("MERGEAPPEND");
460 
461  _outPlanInfo(str, (const Plan *) node);
462 
463  WRITE_BITMAPSET_FIELD(apprelids);
464  WRITE_NODE_FIELD(mergeplans);
465  WRITE_INT_FIELD(numCols);
466  WRITE_ATTRNUMBER_ARRAY(sortColIdx, node->numCols);
467  WRITE_OID_ARRAY(sortOperators, node->numCols);
468  WRITE_OID_ARRAY(collations, node->numCols);
469  WRITE_BOOL_ARRAY(nullsFirst, node->numCols);
470  WRITE_NODE_FIELD(part_prune_info);
471 }

References _outPlanInfo(), MergeAppend::numCols, generate_unaccent_rules::str, 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().

◆ _outMergeAppendPath()

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

Definition at line 2085 of file outfuncs.c.

2086 {
2087  WRITE_NODE_TYPE("MERGEAPPENDPATH");
2088 
2089  _outPathInfo(str, (const Path *) node);
2090 
2091  WRITE_NODE_FIELD(subpaths);
2092  WRITE_FLOAT_FIELD(limit_tuples, "%.0f");
2093 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMergeJoin()

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

Definition at line 768 of file outfuncs.c.

769 {
770  int numCols;
771 
772  WRITE_NODE_TYPE("MERGEJOIN");
773 
774  _outJoinPlanInfo(str, (const Join *) node);
775 
776  WRITE_BOOL_FIELD(skip_mark_restore);
777  WRITE_NODE_FIELD(mergeclauses);
778 
779  numCols = list_length(node->mergeclauses);
780 
781  WRITE_OID_ARRAY(mergeFamilies, numCols);
782  WRITE_OID_ARRAY(mergeCollations, numCols);
783  WRITE_INT_ARRAY(mergeStrategies, numCols);
784  WRITE_BOOL_ARRAY(mergeNullsFirst, numCols);
785 }
#define WRITE_INT_ARRAY(fldname, len)
Definition: outfuncs.c:141
List * mergeclauses
Definition: plannodes.h:781

References _outJoinPlanInfo(), list_length(), MergeJoin::mergeclauses, generate_unaccent_rules::str, WRITE_BOOL_ARRAY, WRITE_BOOL_FIELD, WRITE_INT_ARRAY, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_ARRAY.

Referenced by outNode().

◆ _outMergePath()

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

Definition at line 2400 of file outfuncs.c.

2401 {
2402  WRITE_NODE_TYPE("MERGEPATH");
2403 
2404  _outJoinPathInfo(str, (const JoinPath *) node);
2405 
2406  WRITE_NODE_FIELD(path_mergeclauses);
2407  WRITE_NODE_FIELD(outersortkeys);
2408  WRITE_NODE_FIELD(innersortkeys);
2409  WRITE_BOOL_FIELD(skip_mark_restore);
2410  WRITE_BOOL_FIELD(materialize_inner);
2411 }

References _outJoinPathInfo(), generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMergeWhenClause()

static void _outMergeWhenClause ( StringInfo  str,
const MergeWhenClause node 
)
static

Definition at line 3390 of file outfuncs.c.

3391 {
3392  WRITE_NODE_TYPE("MERGEWHENCLAUSE");
3393 
3394  WRITE_BOOL_FIELD(matched);
3395  WRITE_ENUM_FIELD(commandType, CmdType);
3396  WRITE_ENUM_FIELD(override, OverridingKind);
3397  WRITE_NODE_FIELD(condition);
3398  WRITE_NODE_FIELD(targetList);
3400 }
static Datum values[MAXATTR]
Definition: bootstrap.c:156

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

Referenced by outNode().

◆ _outMinMaxAggInfo()

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

Definition at line 2814 of file outfuncs.c.

2815 {
2816  WRITE_NODE_TYPE("MINMAXAGGINFO");
2817 
2818  WRITE_OID_FIELD(aggfnoid);
2819  WRITE_OID_FIELD(aggsortop);
2820  WRITE_NODE_FIELD(target);
2821  /* We intentionally omit subroot --- too large, not interesting enough */
2822  WRITE_NODE_FIELD(path);
2823  WRITE_FLOAT_FIELD(pathcost, "%.2f");
2824  WRITE_NODE_FIELD(param);
2825 }

References WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outMinMaxAggPath()

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

Definition at line 2279 of file outfuncs.c.

2280 {
2281  WRITE_NODE_TYPE("MINMAXAGGPATH");
2282 
2283  _outPathInfo(str, (const Path *) node);
2284 
2285  WRITE_NODE_FIELD(mmaggregates);
2286  WRITE_NODE_FIELD(quals);
2287 }

References _outPathInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outMinMaxExpr()

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

Definition at line 1583 of file outfuncs.c.

1584 {
1585  WRITE_NODE_TYPE("MINMAXEXPR");
1586 
1587  WRITE_OID_FIELD(minmaxtype);
1588  WRITE_OID_FIELD(minmaxcollid);
1589  WRITE_OID_FIELD(inputcollid);
1592  WRITE_LOCATION_FIELD(location);
1593 }
MinMaxOp
Definition: primnodes.h:1147

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

Referenced by outNode().

◆ _outModifyTable()

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

Definition at line 413 of file outfuncs.c.

414 {
415  WRITE_NODE_TYPE("MODIFYTABLE");
416 
417  _outPlanInfo(str, (const Plan *) node);
418 
419  WRITE_ENUM_FIELD(operation, CmdType);
420  WRITE_BOOL_FIELD(canSetTag);
421  WRITE_UINT_FIELD(nominalRelation);
422  WRITE_UINT_FIELD(rootRelation);
423  WRITE_BOOL_FIELD(partColsUpdated);
424  WRITE_NODE_FIELD(resultRelations);
425  WRITE_NODE_FIELD(updateColnosLists);
426  WRITE_NODE_FIELD(withCheckOptionLists);
427  WRITE_NODE_FIELD(returningLists);
428  WRITE_NODE_FIELD(fdwPrivLists);
429  WRITE_BITMAPSET_FIELD(fdwDirectModifyPlans);
430  WRITE_NODE_FIELD(rowMarks);
431  WRITE_INT_FIELD(epqParam);
432  WRITE_ENUM_FIELD(onConflictAction, OnConflictAction);
433  WRITE_NODE_FIELD(arbiterIndexes);
434  WRITE_NODE_FIELD(onConflictSet);
435  WRITE_NODE_FIELD(onConflictCols);
436  WRITE_NODE_FIELD(onConflictWhere);
437  WRITE_UINT_FIELD(exclRelRTI);
438  WRITE_NODE_FIELD(exclRelTlist);
439  WRITE_NODE_FIELD(mergeActionLists);
440 }
OnConflictAction
Definition: nodes.h:870

References _outPlanInfo(), generate_unaccent_rules::str, 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().

◆ _outModifyTablePath()

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

Definition at line 2345 of file outfuncs.c.

2346 {
2347  WRITE_NODE_TYPE("MODIFYTABLEPATH");
2348 
2349  _outPathInfo(str, (const Path *) node);
2350 
2352  WRITE_ENUM_FIELD(operation, CmdType);
2353  WRITE_BOOL_FIELD(canSetTag);
2354  WRITE_UINT_FIELD(nominalRelation);
2355  WRITE_UINT_FIELD(rootRelation);
2356  WRITE_BOOL_FIELD(partColsUpdated);
2357  WRITE_NODE_FIELD(resultRelations);
2358  WRITE_NODE_FIELD(updateColnosLists);
2359  WRITE_NODE_FIELD(withCheckOptionLists);
2360  WRITE_NODE_FIELD(returningLists);
2361  WRITE_NODE_FIELD(rowMarks);
2362  WRITE_NODE_FIELD(onconflict);
2363  WRITE_INT_FIELD(epqParam);
2364  WRITE_NODE_FIELD(mergeActionLists);
2365 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outMultiAssignRef()

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

Definition at line 3743 of file outfuncs.c.

3744 {
3745  WRITE_NODE_TYPE("MULTIASSIGNREF");
3746 
3748  WRITE_INT_FIELD(colno);
3749  WRITE_INT_FIELD(ncolumns);
3750 }
static rewind_source * source
Definition: pg_rewind.c:81

References source, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outNamedArgExpr()

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

Definition at line 1276 of file outfuncs.c.

1277 {
1278  WRITE_NODE_TYPE("NAMEDARGEXPR");
1279 
1282  WRITE_INT_FIELD(argnumber);
1283  WRITE_LOCATION_FIELD(location);
1284 }

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

Referenced by outNode().

◆ _outNamedTuplestoreScan()

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

Definition at line 694 of file outfuncs.c.

695 {
696  WRITE_NODE_TYPE("NAMEDTUPLESTORESCAN");
697 
698  _outScanInfo(str, (const Scan *) node);
699 
700  WRITE_STRING_FIELD(enrname);
701 }

References _outScanInfo(), generate_unaccent_rules::str, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outNestLoop()

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

Definition at line 758 of file outfuncs.c.

759 {
760  WRITE_NODE_TYPE("NESTLOOP");
761 
762  _outJoinPlanInfo(str, (const Join *) node);
763 
764  WRITE_NODE_FIELD(nestParams);
765 }

References _outJoinPlanInfo(), generate_unaccent_rules::str, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outNestLoopParam()

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

Definition at line 990 of file outfuncs.c.

991 {
992  WRITE_NODE_TYPE("NESTLOOPPARAM");
993 
994  WRITE_INT_FIELD(paramno);
995  WRITE_NODE_FIELD(paramval);
996 }

References WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outNestPath()

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

Definition at line 2392 of file outfuncs.c.

2393 {
2394  WRITE_NODE_TYPE("NESTPATH");
2395 
2396  _outJoinPathInfo(str, (const JoinPath *) node);
2397 }

References _outJoinPathInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outNextValueExpr()

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

Definition at line 1689 of file outfuncs.c.

1690 {
1691  WRITE_NODE_TYPE("NEXTVALUEEXPR");
1692 
1693  WRITE_OID_FIELD(seqid);
1694  WRITE_OID_FIELD(typeId);
1695 }

References WRITE_NODE_TYPE, and WRITE_OID_FIELD.

Referenced by outNode().

◆ _outNotifyStmt()

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

Definition at line 2971 of file outfuncs.c.

2972 {
2973  WRITE_NODE_TYPE("NOTIFYSTMT");
2974 
2975  WRITE_STRING_FIELD(conditionname);
2976  WRITE_STRING_FIELD(payload);
2977 }

References WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outNullIfExpr()

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

Definition at line 1317 of file outfuncs.c.

1318 {
1319  WRITE_NODE_TYPE("NULLIFEXPR");
1320 
1321  WRITE_OID_FIELD(opno);
1322  WRITE_OID_FIELD(opfuncid);
1323  WRITE_OID_FIELD(opresulttype);
1324  WRITE_BOOL_FIELD(opretset);
1325  WRITE_OID_FIELD(opcollid);
1326  WRITE_OID_FIELD(inputcollid);
1328  WRITE_LOCATION_FIELD(location);
1329 }

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

Referenced by outNode().

◆ _outNullTest()

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

Definition at line 1623 of file outfuncs.c.

1624 {
1625  WRITE_NODE_TYPE("NULLTEST");
1626 
1628  WRITE_ENUM_FIELD(nulltesttype, NullTestType);
1629  WRITE_BOOL_FIELD(argisrow);
1630  WRITE_LOCATION_FIELD(location);
1631 }
NullTestType
Definition: primnodes.h:1519

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

Referenced by outNode().

◆ _outOnConflictExpr()

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

Definition at line 1755 of file outfuncs.c.

1756 {
1757  WRITE_NODE_TYPE("ONCONFLICTEXPR");
1758 
1760  WRITE_NODE_FIELD(arbiterElems);
1761  WRITE_NODE_FIELD(arbiterWhere);
1762  WRITE_OID_FIELD(constraint);
1763  WRITE_NODE_FIELD(onConflictSet);
1764  WRITE_NODE_FIELD(onConflictWhere);
1765  WRITE_INT_FIELD(exclRelIndex);
1766  WRITE_NODE_FIELD(exclRelTlist);
1767 }

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

Referenced by outNode().

◆ _outOpExpr()

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

Definition at line 1287 of file outfuncs.c.

1288 {
1289  WRITE_NODE_TYPE("OPEXPR");
1290 
1291  WRITE_OID_FIELD(opno);
1292  WRITE_OID_FIELD(opfuncid);
1293  WRITE_OID_FIELD(opresulttype);
1294  WRITE_BOOL_FIELD(opretset);
1295  WRITE_OID_FIELD(opcollid);
1296  WRITE_OID_FIELD(inputcollid);
1298  WRITE_LOCATION_FIELD(location);
1299 }

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

Referenced by outNode().

◆ _outParam()

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

Definition at line 1176 of file outfuncs.c.

1177 {
1178  WRITE_NODE_TYPE("PARAM");
1179 
1180  WRITE_ENUM_FIELD(paramkind, ParamKind);
1181  WRITE_INT_FIELD(paramid);
1182  WRITE_OID_FIELD(paramtype);
1183  WRITE_INT_FIELD(paramtypmod);
1184  WRITE_OID_FIELD(paramcollid);
1185  WRITE_LOCATION_FIELD(location);
1186 }
ParamKind
Definition: primnodes.h:266

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

Referenced by outNode().

◆ _outParamPathInfo()

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

Definition at line 2689 of file outfuncs.c.

2690 {
2691  WRITE_NODE_TYPE("PARAMPATHINFO");
2692 
2693  WRITE_BITMAPSET_FIELD(ppi_req_outer);
2694  WRITE_FLOAT_FIELD(ppi_rows, "%.0f");
2695  WRITE_NODE_FIELD(ppi_clauses);
2696 }

References WRITE_BITMAPSET_FIELD, WRITE_FLOAT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outParamRef()

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

Definition at line 3660 of file outfuncs.c.

3661 {
3662  WRITE_NODE_TYPE("PARAMREF");
3663 
3664  WRITE_INT_FIELD(number);
3665  WRITE_LOCATION_FIELD(location);
3666 }

References WRITE_INT_FIELD, WRITE_LOCATION_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPartitionBoundSpec()

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

Definition at line 4000 of file outfuncs.c.

4001 {
4002  WRITE_NODE_TYPE("PARTITIONBOUNDSPEC");
4003 
4004  WRITE_CHAR_FIELD(strategy);
4005  WRITE_BOOL_FIELD(is_default);
4006  WRITE_INT_FIELD(modulus);
4007  WRITE_INT_FIELD(remainder);
4008  WRITE_NODE_FIELD(listdatums);
4009  WRITE_NODE_FIELD(lowerdatums);
4010  WRITE_NODE_FIELD(upperdatums);
4011  WRITE_LOCATION_FIELD(location);
4012 }

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

Referenced by outNode().

◆ _outPartitionedRelPruneInfo()

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

Definition at line 1023 of file outfuncs.c.

1024 {
1025  WRITE_NODE_TYPE("PARTITIONEDRELPRUNEINFO");
1026 
1027  WRITE_UINT_FIELD(rtindex);
1028  WRITE_BITMAPSET_FIELD(present_parts);
1029  WRITE_INT_FIELD(nparts);
1030  WRITE_INT_ARRAY(subplan_map, node->nparts);
1031  WRITE_INT_ARRAY(subpart_map, node->nparts);
1032  WRITE_OID_ARRAY(relid_map, node->nparts);
1033  WRITE_NODE_FIELD(initial_pruning_steps);
1034  WRITE_NODE_FIELD(exec_pruning_steps);
1035  WRITE_BITMAPSET_FIELD(execparamids);
1036 }

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().

◆ _outPartitionElem()

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

Definition at line 3978 of file outfuncs.c.

3979 {
3980  WRITE_NODE_TYPE("PARTITIONELEM");
3981 
3983  WRITE_NODE_FIELD(expr);
3984  WRITE_NODE_FIELD(collation);
3985  WRITE_NODE_FIELD(opclass);
3986  WRITE_LOCATION_FIELD(location);
3987 }

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

Referenced by outNode().

◆ _outPartitionPruneInfo()

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

Definition at line 1014 of file outfuncs.c.

1015 {
1016  WRITE_NODE_TYPE("PARTITIONPRUNEINFO");
1017 
1018  WRITE_NODE_FIELD(prune_infos);
1019  WRITE_BITMAPSET_FIELD(other_subplans);
1020 }

References WRITE_BITMAPSET_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPartitionPruneStepCombine()

static void _outPartitionPruneStepCombine ( StringInfo  str,
const PartitionPruneStepCombine node 
)
static

Definition at line 1051 of file outfuncs.c.

1052 {
1053  WRITE_NODE_TYPE("PARTITIONPRUNESTEPCOMBINE");
1054 
1055  WRITE_INT_FIELD(step.step_id);
1057  WRITE_NODE_FIELD(source_stepids);
1058 }
PartitionPruneCombineOp
Definition: plannodes.h:1302

References WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPartitionPruneStepOp()

static void _outPartitionPruneStepOp ( StringInfo  str,
const PartitionPruneStepOp node 
)
static

Definition at line 1039 of file outfuncs.c.

1040 {
1041  WRITE_NODE_TYPE("PARTITIONPRUNESTEPOP");
1042 
1043  WRITE_INT_FIELD(step.step_id);
1044  WRITE_INT_FIELD(opstrategy);
1045  WRITE_NODE_FIELD(exprs);
1046  WRITE_NODE_FIELD(cmpfns);
1047  WRITE_BITMAPSET_FIELD(nullkeys);
1048 }

References WRITE_BITMAPSET_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPartitionRangeDatum()

static void _outPartitionRangeDatum ( StringInfo  str,
const PartitionRangeDatum node 
)
static

Definition at line 4015 of file outfuncs.c.

4016 {
4017  WRITE_NODE_TYPE("PARTITIONRANGEDATUM");
4018 
4021  WRITE_LOCATION_FIELD(location);
4022 }
static struct @151 value
PartitionRangeDatumKind
Definition: parsenodes.h:871

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

Referenced by outNode().

◆ _outPartitionSpec()

static void _outPartitionSpec ( StringInfo  str,
const PartitionSpec node 
)
static

Definition at line 3990 of file outfuncs.c.

3991 {
3992  WRITE_NODE_TYPE("PARTITIONSPEC");
3993 
3994  WRITE_STRING_FIELD(strategy);
3995  WRITE_NODE_FIELD(partParams);
3996  WRITE_LOCATION_FIELD(location);
3997 }

References WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outPath()

static void _outPath ( StringInfo  str,
const Path node 
)
static

Definition at line 1962 of file outfuncs.c.

1963 {
1964  WRITE_NODE_TYPE("PATH");
1965 
1966  _outPathInfo(str, (const Path *) node);
1967 }

References _outPathInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPathInfo()

static void _outPathInfo ( StringInfo  str,
const Path node 
)
static

Definition at line 1925 of file outfuncs.c.

1926 {
1927  WRITE_ENUM_FIELD(pathtype, NodeTag);
1928  appendStringInfoString(str, " :parent_relids ");
1929  outBitmapset(str, node->parent->relids);
1930  if (node->pathtarget != node->parent->reltarget)
1931  WRITE_NODE_FIELD(pathtarget);
1932  appendStringInfoString(str, " :required_outer ");
1933  if (node->param_info)
1935  else
1936  outBitmapset(str, NULL);
1937  WRITE_BOOL_FIELD(parallel_aware);
1938  WRITE_BOOL_FIELD(parallel_safe);
1939  WRITE_INT_FIELD(parallel_workers);
1940  WRITE_FLOAT_FIELD(rows, "%.0f");
1941  WRITE_FLOAT_FIELD(startup_cost, "%.2f");
1942  WRITE_FLOAT_FIELD(total_cost, "%.2f");
1943  WRITE_NODE_FIELD(pathkeys);
1944 }
NodeTag
Definition: nodes.h:27
void outBitmapset(StringInfo str, const Bitmapset *bms)
Definition: outfuncs.c:257
Relids ppi_req_outer
Definition: pathnodes.h:1153
RelOptInfo * parent
Definition: pathnodes.h:1194
ParamPathInfo * param_info
Definition: pathnodes.h:1197
PathTarget * pathtarget
Definition: pathnodes.h:1195
Relids relids
Definition: pathnodes.h:682
struct PathTarget * reltarget
Definition: pathnodes.h:693

References appendStringInfoString(), outBitmapset(), Path::param_info, Path::parent, Path::pathtarget, ParamPathInfo::ppi_req_outer, RelOptInfo::relids, RelOptInfo::reltarget, generate_unaccent_rules::str, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, and WRITE_NODE_FIELD.

Referenced by _outAggPath(), _outAppendPath(), _outBitmapAndPath(), _outBitmapHeapPath(), _outBitmapOrPath(), _outCustomPath(), _outForeignPath(), _outGatherMergePath(), _outGatherPath(), _outGroupingSetsPath(), _outGroupPath(), _outGroupResultPath(), _outIndexPath(), _outJoinPathInfo(), _outLimitPath(), _outLockRowsPath(), _outMaterialPath(), _outMemoizePath(), _outMergeAppendPath(), _outMinMaxAggPath(), _outModifyTablePath(), _outPath(), _outProjectionPath(), _outProjectSetPath(), _outRecursiveUnionPath(), _outSetOpPath(), _outSortPathInfo(), _outSubqueryScanPath(), _outTidPath(), _outTidRangePath(), _outUniquePath(), _outUpperUniquePath(), and _outWindowAggPath().

◆ _outPathKey()

static void _outPathKey ( StringInfo  str,
const PathKey node 
)
static

Definition at line 2665 of file outfuncs.c.

2666 {
2667  WRITE_NODE_TYPE("PATHKEY");
2668 
2669  WRITE_NODE_FIELD(pk_eclass);
2670  WRITE_OID_FIELD(pk_opfamily);
2671  WRITE_INT_FIELD(pk_strategy);
2672  WRITE_BOOL_FIELD(pk_nulls_first);
2673 }

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

Referenced by outNode().

◆ _outPathTarget()

static void _outPathTarget ( StringInfo  str,
const PathTarget node 
)
static

Definition at line 2676 of file outfuncs.c.

2677 {
2678  WRITE_NODE_TYPE("PATHTARGET");
2679 
2680  WRITE_NODE_FIELD(exprs);
2681  WRITE_INDEX_ARRAY(sortgrouprefs, list_length(node->exprs));
2682  WRITE_FLOAT_FIELD(cost.startup, "%.2f");
2683  WRITE_FLOAT_FIELD(cost.per_tuple, "%.2f");
2684  WRITE_INT_FIELD(width);
2685  WRITE_ENUM_FIELD(has_volatile_expr, VolatileFunctionStatus);
2686 }
#define WRITE_INDEX_ARRAY(fldname, len)
Definition: outfuncs.c:131
VolatileFunctionStatus
Definition: pathnodes.h:1090
List * exprs
Definition: pathnodes.h:1122

References PathTarget::exprs, list_length(), WRITE_ENUM_FIELD, WRITE_FLOAT_FIELD, WRITE_INDEX_ARRAY, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPlaceHolderInfo()

static void _outPlaceHolderInfo ( StringInfo  str,
const PlaceHolderInfo node 
)
static

Definition at line 2801 of file outfuncs.c.

2802 {
2803  WRITE_NODE_TYPE("PLACEHOLDERINFO");
2804 
2805  WRITE_UINT_FIELD(phid);
2806  WRITE_NODE_FIELD(ph_var);
2807  WRITE_BITMAPSET_FIELD(ph_eval_at);
2808  WRITE_BITMAPSET_FIELD(ph_lateral);
2809  WRITE_BITMAPSET_FIELD(ph_needed);
2810  WRITE_INT_FIELD(ph_width);
2811 }

References WRITE_BITMAPSET_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outPlaceHolderVar()

static void _outPlaceHolderVar ( StringInfo  str,
const PlaceHolderVar node 
)
static

Definition at line 2746 of file outfuncs.c.

2747 {
2748  WRITE_NODE_TYPE("PLACEHOLDERVAR");
2749 
2750  WRITE_NODE_FIELD(phexpr);
2751  WRITE_BITMAPSET_FIELD(phrels);
2752  WRITE_UINT_FIELD(phid);
2753  WRITE_UINT_FIELD(phlevelsup);
2754 }

References WRITE_BITMAPSET_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outPlan()

static void _outPlan ( StringInfo  str,
const Plan node 
)
static

Definition at line 387 of file outfuncs.c.

388 {
389  WRITE_NODE_TYPE("PLAN");
390 
391  _outPlanInfo(str, (const Plan *) node);
392 }

References _outPlanInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPlanInfo()

static void _outPlanInfo ( StringInfo  str,
const Plan node 
)
static

Definition at line 342 of file outfuncs.c.

343 {
344  WRITE_FLOAT_FIELD(startup_cost, "%.2f");
345  WRITE_FLOAT_FIELD(total_cost, "%.2f");
346  WRITE_FLOAT_FIELD(plan_rows, "%.0f");
347  WRITE_INT_FIELD(plan_width);
348  WRITE_BOOL_FIELD(parallel_aware);
349  WRITE_BOOL_FIELD(parallel_safe);
350  WRITE_BOOL_FIELD(async_capable);
351  WRITE_INT_FIELD(plan_node_id);
352  WRITE_NODE_FIELD(targetlist);
353  WRITE_NODE_FIELD(qual);
354  WRITE_NODE_FIELD(lefttree);
355  WRITE_NODE_FIELD(righttree);
356  WRITE_NODE_FIELD(initPlan);
357  WRITE_BITMAPSET_FIELD(extParam);
358  WRITE_BITMAPSET_FIELD(allParam);
359 }

References WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, and WRITE_NODE_FIELD.

Referenced by _outAgg(), _outAppend(), _outBitmapAnd(), _outBitmapOr(), _outGather(), _outGatherMerge(), _outGroup(), _outHash(), _outJoinPlanInfo(), _outLimit(), _outLockRows(), _outMaterial(), _outMemoize(), _outMergeAppend(), _outModifyTable(), _outPlan(), _outProjectSet(), _outRecursiveUnion(), _outResult(), _outScanInfo(), _outSetOp(), _outSortInfo(), _outUnique(), and _outWindowAgg().

◆ _outPlanInvalItem()

static void _outPlanInvalItem ( StringInfo  str,
const PlanInvalItem node 
)
static

Definition at line 1061 of file outfuncs.c.

1062 {
1063  WRITE_NODE_TYPE("PLANINVALITEM");
1064 
1065  WRITE_INT_FIELD(cacheId);
1066  WRITE_UINT_FIELD(hashValue);
1067 }

References WRITE_INT_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outPlannedStmt()

static void _outPlannedStmt ( StringInfo  str,
const PlannedStmt node 
)
static

Definition at line 310 of file outfuncs.c.

311 {
312  WRITE_NODE_TYPE("PLANNEDSTMT");
313 
314  WRITE_ENUM_FIELD(commandType, CmdType);
315  WRITE_UINT64_FIELD(queryId);
316  WRITE_BOOL_FIELD(hasReturning);
317  WRITE_BOOL_FIELD(hasModifyingCTE);
318  WRITE_BOOL_FIELD(canSetTag);
319  WRITE_BOOL_FIELD(transientPlan);
320  WRITE_BOOL_FIELD(dependsOnRole);
321  WRITE_BOOL_FIELD(parallelModeNeeded);
322  WRITE_INT_FIELD(jitFlags);
323  WRITE_NODE_FIELD(planTree);
324  WRITE_NODE_FIELD(rtable);
325  WRITE_NODE_FIELD(resultRelations);
326  WRITE_NODE_FIELD(appendRelations);
327  WRITE_NODE_FIELD(subplans);
328  WRITE_BITMAPSET_FIELD(rewindPlanIDs);
329  WRITE_NODE_FIELD(rowMarks);
330  WRITE_NODE_FIELD(relationOids);
331  WRITE_NODE_FIELD(invalItems);
332  WRITE_NODE_FIELD(paramExecTypes);
333  WRITE_NODE_FIELD(utilityStmt);
334  WRITE_LOCATION_FIELD(stmt_location);
335  WRITE_INT_FIELD(stmt_len);
336 }

References WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT64_FIELD.

Referenced by outNode().

◆ _outPlannerGlobal()

static void _outPlannerGlobal ( StringInfo  str,
const PlannerGlobal node 
)
static

Definition at line 2426 of file outfuncs.c.

2427 {
2428  WRITE_NODE_TYPE("PLANNERGLOBAL");
2429 
2430  /* NB: this isn't a complete set of fields */
2431  WRITE_NODE_FIELD(subplans);
2432  WRITE_BITMAPSET_FIELD(rewindPlanIDs);
2433  WRITE_NODE_FIELD(finalrtable);
2434  WRITE_NODE_FIELD(finalrowmarks);
2435  WRITE_NODE_FIELD(resultRelations);
2436  WRITE_NODE_FIELD(appendRelations);
2437  WRITE_NODE_FIELD(relationOids);
2438  WRITE_NODE_FIELD(invalItems);
2439  WRITE_NODE_FIELD(paramExecTypes);
2440  WRITE_UINT_FIELD(lastPHId);
2441  WRITE_UINT_FIELD(lastRowMarkId);
2442  WRITE_INT_FIELD(lastPlanNodeId);
2443  WRITE_BOOL_FIELD(transientPlan);
2444  WRITE_BOOL_FIELD(dependsOnRole);
2445  WRITE_BOOL_FIELD(parallelModeOK);
2446  WRITE_BOOL_FIELD(parallelModeNeeded);
2447  WRITE_CHAR_FIELD(maxParallelHazard);
2448 }

References WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outPlannerInfo()

static void _outPlannerInfo ( StringInfo  str,
const PlannerInfo node 
)
static

Definition at line 2451 of file outfuncs.c.

2452 {
2453  WRITE_NODE_TYPE("PLANNERINFO");
2454 
2455  /* NB: this isn't a complete set of fields */
2457  WRITE_NODE_FIELD(glob);
2458  WRITE_UINT_FIELD(query_level);
2459  WRITE_NODE_FIELD(plan_params);
2460  WRITE_BITMAPSET_FIELD(outer_params);
2461  WRITE_BITMAPSET_FIELD(all_baserels);
2462  WRITE_BITMAPSET_FIELD(nullable_baserels);
2463  WRITE_NODE_FIELD(join_rel_list);
2464  WRITE_INT_FIELD(join_cur_level);
2465  WRITE_NODE_FIELD(init_plans);
2466  WRITE_NODE_FIELD(cte_plan_ids);
2467  WRITE_NODE_FIELD(multiexpr_params);
2468  WRITE_NODE_FIELD(eq_classes);
2469  WRITE_BOOL_FIELD(ec_merging_done);
2470  WRITE_NODE_FIELD(canon_pathkeys);
2471  WRITE_NODE_FIELD(left_join_clauses);
2472  WRITE_NODE_FIELD(right_join_clauses);
2473  WRITE_NODE_FIELD(full_join_clauses);
2474  WRITE_NODE_FIELD(join_info_list);
2475  WRITE_BITMAPSET_FIELD(all_result_relids);
2476  WRITE_BITMAPSET_FIELD(leaf_result_relids);
2477  WRITE_NODE_FIELD(append_rel_list);
2478  WRITE_NODE_FIELD(row_identity_vars);
2479  WRITE_NODE_FIELD(rowMarks);
2480  WRITE_NODE_FIELD(placeholder_list);
2481  WRITE_NODE_FIELD(fkey_list);
2482  WRITE_NODE_FIELD(query_pathkeys);
2483  WRITE_NODE_FIELD(group_pathkeys);
2484  WRITE_NODE_FIELD(window_pathkeys);
2485  WRITE_NODE_FIELD(distinct_pathkeys);
2486  WRITE_NODE_FIELD(sort_pathkeys);
2487  WRITE_NODE_FIELD(processed_tlist);
2488  WRITE_NODE_FIELD(update_colnos);
2489  WRITE_NODE_FIELD(minmax_aggs);
2490  WRITE_FLOAT_FIELD(total_table_pages, "%.0f");
2491  WRITE_FLOAT_FIELD(tuple_fraction, "%.4f");
2492  WRITE_FLOAT_FIELD(limit_tuples, "%.0f");
2493  WRITE_UINT_FIELD(qual_security_level);
2494  WRITE_BOOL_FIELD(hasJoinRTEs);
2495  WRITE_BOOL_FIELD(hasLateralRTEs);
2496  WRITE_BOOL_FIELD(hasHavingQual);
2497  WRITE_BOOL_FIELD(hasPseudoConstantQuals);
2498  WRITE_BOOL_FIELD(hasAlternativeSubPlans);
2499  WRITE_BOOL_FIELD(hasRecursion);
2500  WRITE_INT_FIELD(wt_param_id);
2501  WRITE_BITMAPSET_FIELD(curOuterRels);
2502  WRITE_NODE_FIELD(curOuterParams);
2503  WRITE_BOOL_FIELD(partColsUpdated);
2504 }
static struct subre * parse(struct vars *, int, int, struct state *, struct state *)
Definition: regcomp.c:673

References parse(), WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outPlannerParamItem()

static void _outPlannerParamItem ( StringInfo  str,
const PlannerParamItem node 
)
static

Definition at line 2828 of file outfuncs.c.

2829 {
2830  WRITE_NODE_TYPE("PLANNERPARAMITEM");
2831 
2832  WRITE_NODE_FIELD(item);
2833  WRITE_INT_FIELD(paramId);
2834 }

References WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outPlanRowMark()

static void _outPlanRowMark ( StringInfo  str,
const PlanRowMark node 
)
static

Definition at line 999 of file outfuncs.c.

1000 {
1001  WRITE_NODE_TYPE("PLANROWMARK");
1002 
1003  WRITE_UINT_FIELD(rti);
1004  WRITE_UINT_FIELD(prti);
1005  WRITE_UINT_FIELD(rowmarkId);
1006  WRITE_ENUM_FIELD(markType, RowMarkType);
1007  WRITE_INT_FIELD(allMarkTypes);
1009  WRITE_ENUM_FIELD(waitPolicy, LockWaitPolicy);
1010  WRITE_BOOL_FIELD(isParent);
1011 }
RowMarkType
Definition: plannodes.h:1106

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

Referenced by outNode().

◆ _outPLAssignStmt()

static void _outPLAssignStmt ( StringInfo  str,
const PLAssignStmt node 
)
static

Definition at line 3025 of file outfuncs.c.

3026 {
3027  WRITE_NODE_TYPE("PLASSIGN");
3028 
3030  WRITE_NODE_FIELD(indirection);
3031  WRITE_INT_FIELD(nnames);
3033  WRITE_LOCATION_FIELD(location);
3034 }
long val
Definition: informix.c:664

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

Referenced by outNode().

◆ _outProjectionPath()

static void _outProjectionPath ( StringInfo  str,
const ProjectionPath node 
)
static

Definition at line 2157 of file outfuncs.c.

2158 {
2159  WRITE_NODE_TYPE("PROJECTIONPATH");
2160 
2161  _outPathInfo(str, (const Path *) node);
2162 
2164  WRITE_BOOL_FIELD(dummypp);
2165 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outProjectSet()

static void _outProjectSet ( StringInfo  str,
const ProjectSet node 
)
static

Definition at line 405 of file outfuncs.c.

406 {
407  WRITE_NODE_TYPE("PROJECTSET");
408 
409  _outPlanInfo(str, (const Plan *) node);
410 }

References _outPlanInfo(), generate_unaccent_rules::str, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outProjectSetPath()

static void _outProjectSetPath ( StringInfo  str,
const ProjectSetPath node 
)
static

Definition at line 2168 of file outfuncs.c.

2169 {
2170  WRITE_NODE_TYPE("PROJECTSETPATH");
2171 
2172  _outPathInfo(str, (const Path *) node);
2173 
2175 }

References _outPathInfo(), generate_unaccent_rules::str, subpath(), WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outQuery()

static void _outQuery ( StringInfo  str,
const Query node 
)
static

Definition at line 3192 of file outfuncs.c.

3193 {
3194  WRITE_NODE_TYPE("QUERY");
3195 
3196  WRITE_ENUM_FIELD(commandType, CmdType);
3197  WRITE_ENUM_FIELD(querySource, QuerySource);
3198  /* we intentionally do not print the queryId field */
3199  WRITE_BOOL_FIELD(canSetTag);
3200 
3201  /*
3202  * Hack to work around missing outfuncs routines for a lot of the
3203  * utility-statement node types. (The only one we actually *need* for
3204  * rules support is NotifyStmt.) Someday we ought to support 'em all, but
3205  * for the meantime do this to avoid getting lots of warnings when running
3206  * with debug_print_parse on.
3207  */
3208  if (node->utilityStmt)
3209  {
3210  switch (nodeTag(node->utilityStmt))
3211  {
3212  case T_CreateStmt:
3213  case T_IndexStmt:
3214  case T_NotifyStmt:
3215  case T_DeclareCursorStmt:
3216  WRITE_NODE_FIELD(utilityStmt);
3217  break;
3218  default:
3219  appendStringInfoString(str, " :utilityStmt ?");
3220  break;
3221  }
3222  }
3223  else
3224  appendStringInfoString(str, " :utilityStmt <>");
3225 
3226  WRITE_INT_FIELD(resultRelation);
3227  WRITE_BOOL_FIELD(hasAggs);
3228  WRITE_BOOL_FIELD(hasWindowFuncs);
3229  WRITE_BOOL_FIELD(hasTargetSRFs);
3230  WRITE_BOOL_FIELD(hasSubLinks);
3231  WRITE_BOOL_FIELD(hasDistinctOn);
3232  WRITE_BOOL_FIELD(hasRecursive);
3233  WRITE_BOOL_FIELD(hasModifyingCTE);
3234  WRITE_BOOL_FIELD(hasForUpdate);
3235  WRITE_BOOL_FIELD(hasRowSecurity);
3236  WRITE_BOOL_FIELD(isReturn);
3237  WRITE_NODE_FIELD(cteList);
3238  WRITE_NODE_FIELD(rtable);
3239  WRITE_NODE_FIELD(jointree);
3240  WRITE_NODE_FIELD(targetList);
3241  WRITE_ENUM_FIELD(override, OverridingKind);
3242  WRITE_NODE_FIELD(onConflict);
3243  WRITE_NODE_FIELD(returningList);
3244  WRITE_NODE_FIELD(groupClause);
3245  WRITE_BOOL_FIELD(groupDistinct);
3246  WRITE_NODE_FIELD(groupingSets);
3247  WRITE_NODE_FIELD(havingQual);
3248  WRITE_NODE_FIELD(windowClause);
3249  WRITE_NODE_FIELD(distinctClause);
3250  WRITE_NODE_FIELD(sortClause);
3251  WRITE_NODE_FIELD(limitOffset);
3252  WRITE_NODE_FIELD(limitCount);
3253  WRITE_ENUM_FIELD(limitOption, LimitOption);
3254  WRITE_NODE_FIELD(rowMarks);
3255  WRITE_NODE_FIELD(setOperations);
3256  WRITE_NODE_FIELD(constraintDeps);
3257  WRITE_NODE_FIELD(withCheckOptions);
3258  WRITE_NODE_FIELD(mergeActionList);
3259  WRITE_BOOL_FIELD(mergeUseOuterJoin);
3260  WRITE_LOCATION_FIELD(stmt_location);
3261  WRITE_INT_FIELD(stmt_len);
3262 }
#define nodeTag(nodeptr)
Definition: nodes.h:578
@ T_CreateStmt
Definition: nodes.h:349
@ T_NotifyStmt
Definition: nodes.h:361
@ T_IndexStmt
Definition: nodes.h:355
@ T_DeclareCursorStmt
Definition: nodes.h:400
QuerySource
Definition: parsenodes.h:41
Node * utilityStmt
Definition: parsenodes.h:129

References appendStringInfoString(), nodeTag, generate_unaccent_rules::str, T_CreateStmt, T_DeclareCursorStmt, T_IndexStmt, T_NotifyStmt, Query::utilityStmt, WRITE_BOOL_FIELD, WRITE_ENUM_FIELD, WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRangeFunction()

static void _outRangeFunction ( StringInfo  str,
const RangeFunction node 
)
static

Definition at line 3790 of file outfuncs.c.

3791 {
3792  WRITE_NODE_TYPE("RANGEFUNCTION");
3793 
3794  WRITE_BOOL_FIELD(lateral);
3795  WRITE_BOOL_FIELD(ordinality);
3796  WRITE_BOOL_FIELD(is_rowsfrom);
3798  WRITE_NODE_FIELD(alias);
3799  WRITE_NODE_FIELD(coldeflist);
3800 }

References functions, WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRangeSubselect()

static void _outRangeSubselect ( StringInfo  str,
const RangeSubselect node 
)
static

Definition at line 3780 of file outfuncs.c.

3781 {
3782  WRITE_NODE_TYPE("RANGESUBSELECT");
3783 
3784  WRITE_BOOL_FIELD(lateral);
3785  WRITE_NODE_FIELD(subquery);
3786  WRITE_NODE_FIELD(alias);
3787 }

References WRITE_BOOL_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRangeTableFunc()

static void _outRangeTableFunc ( StringInfo  str,
const RangeTableFunc node 
)
static

Definition at line 3815 of file outfuncs.c.

3816 {
3817  WRITE_NODE_TYPE("RANGETABLEFUNC");
3818 
3819  WRITE_BOOL_FIELD(lateral);
3820  WRITE_NODE_FIELD(docexpr);
3821  WRITE_NODE_FIELD(rowexpr);
3822  WRITE_NODE_FIELD(namespaces);
3823  WRITE_NODE_FIELD(columns);
3824  WRITE_NODE_FIELD(alias);
3825  WRITE_LOCATION_FIELD(location);
3826 }

References WRITE_BOOL_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRangeTableFuncCol()

static void _outRangeTableFuncCol ( StringInfo  str,
const RangeTableFuncCol node 
)
static

Definition at line 3829 of file outfuncs.c.

3830 {
3831  WRITE_NODE_TYPE("RANGETABLEFUNCCOL");
3832 
3833  WRITE_STRING_FIELD(colname);
3834  WRITE_NODE_FIELD(typeName);
3835  WRITE_BOOL_FIELD(for_ordinality);
3836  WRITE_BOOL_FIELD(is_not_null);
3837  WRITE_NODE_FIELD(colexpr);
3838  WRITE_NODE_FIELD(coldefexpr);
3839  WRITE_LOCATION_FIELD(location);
3840 }

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

Referenced by outNode().

◆ _outRangeTableSample()

static void _outRangeTableSample ( StringInfo  str,
const RangeTableSample node 
)
static

Definition at line 3803 of file outfuncs.c.

3804 {
3805  WRITE_NODE_TYPE("RANGETABLESAMPLE");
3806 
3807  WRITE_NODE_FIELD(relation);
3808  WRITE_NODE_FIELD(method);
3810  WRITE_NODE_FIELD(repeatable);
3811  WRITE_LOCATION_FIELD(location);
3812 }

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

Referenced by outNode().

◆ _outRangeTblEntry()

static void _outRangeTblEntry ( StringInfo  str,
const RangeTblEntry node 
)
static

Definition at line 3431 of file outfuncs.c.

3432 {
3433  WRITE_NODE_TYPE("RANGETBLENTRY");
3434 
3435  /* put alias + eref first to make dump more legible */
3436  WRITE_NODE_FIELD(alias);
3437  WRITE_NODE_FIELD(eref);
3438  WRITE_ENUM_FIELD(rtekind, RTEKind);
3439 
3440  switch (node->rtekind)
3441  {
3442  case RTE_RELATION:
3443  WRITE_OID_FIELD(relid);
3444  WRITE_CHAR_FIELD(relkind);
3445  WRITE_INT_FIELD(rellockmode);
3446  WRITE_NODE_FIELD(tablesample);
3447  break;
3448  case RTE_SUBQUERY:
3449  WRITE_NODE_FIELD(subquery);
3450  WRITE_BOOL_FIELD(security_barrier);
3451  break;
3452  case RTE_JOIN:
3453  WRITE_ENUM_FIELD(jointype, JoinType);
3454  WRITE_INT_FIELD(joinmergedcols);
3455  WRITE_NODE_FIELD(joinaliasvars);
3456  WRITE_NODE_FIELD(joinleftcols);
3457  WRITE_NODE_FIELD(joinrightcols);
3458  WRITE_NODE_FIELD(join_using_alias);
3459  break;
3460  case RTE_FUNCTION:
3462  WRITE_BOOL_FIELD(funcordinality);
3463  break;
3464  case RTE_TABLEFUNC:
3465  WRITE_NODE_FIELD(tablefunc);
3466  break;
3467  case RTE_VALUES:
3468  WRITE_NODE_FIELD(values_lists);
3469  WRITE_NODE_FIELD(coltypes);
3470  WRITE_NODE_FIELD(coltypmods);
3471  WRITE_NODE_FIELD(colcollations);
3472  break;
3473  case RTE_CTE:
3474  WRITE_STRING_FIELD(ctename);
3475  WRITE_UINT_FIELD(ctelevelsup);
3476  WRITE_BOOL_FIELD(self_reference);
3477  WRITE_NODE_FIELD(coltypes);
3478  WRITE_NODE_FIELD(coltypmods);
3479  WRITE_NODE_FIELD(colcollations);
3480  break;
3481  case RTE_NAMEDTUPLESTORE:
3482  WRITE_STRING_FIELD(enrname);
3483  WRITE_FLOAT_FIELD(enrtuples, "%.0f");
3484  WRITE_OID_FIELD(relid);
3485  WRITE_NODE_FIELD(coltypes);
3486  WRITE_NODE_FIELD(coltypmods);
3487  WRITE_NODE_FIELD(colcollations);
3488  break;
3489  case RTE_RESULT:
3490  /* no extra fields */
3491  break;
3492  default:
3493  elog(ERROR, "unrecognized RTE kind: %d", (int) node->rtekind);
3494  break;
3495  }
3496 
3497  WRITE_BOOL_FIELD(lateral);
3498  WRITE_BOOL_FIELD(inh);
3499  WRITE_BOOL_FIELD(inFromCl);
3500  WRITE_UINT_FIELD(requiredPerms);
3501  WRITE_OID_FIELD(checkAsUser);
3502  WRITE_BITMAPSET_FIELD(selectedCols);
3503  WRITE_BITMAPSET_FIELD(insertedCols);
3504  WRITE_BITMAPSET_FIELD(updatedCols);
3505  WRITE_BITMAPSET_FIELD(extraUpdatedCols);
3506  WRITE_NODE_FIELD(securityQuals);
3507 }
RTEKind
Definition: parsenodes.h:997
@ RTE_JOIN
Definition: parsenodes.h:1000
@ RTE_CTE
Definition: parsenodes.h:1004
@ RTE_NAMEDTUPLESTORE
Definition: parsenodes.h:1005
@ RTE_VALUES
Definition: parsenodes.h:1003
@ RTE_SUBQUERY
Definition: parsenodes.h:999
@ RTE_RESULT
Definition: parsenodes.h:1006
@ RTE_FUNCTION
Definition: parsenodes.h:1001
@ RTE_TABLEFUNC
Definition: parsenodes.h:1002
@ RTE_RELATION
Definition: parsenodes.h:998
RTEKind rtekind
Definition: parsenodes.h:1015

References elog, ERROR, functions, RTE_CTE, RTE_FUNCTION, RTE_JOIN, RTE_NAMEDTUPLESTORE, RTE_RELATION, RTE_RESULT, RTE_SUBQUERY, RTE_TABLEFUNC, RTE_VALUES, RangeTblEntry::rtekind, WRITE_BITMAPSET_FIELD, WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_ENUM_FIELD, WRITE_FLOAT_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, WRITE_OID_FIELD, WRITE_STRING_FIELD, and WRITE_UINT_FIELD.

Referenced by outNode().

◆ _outRangeTblFunction()

static void _outRangeTblFunction ( StringInfo  str,
const RangeTblFunction node 
)
static

Definition at line 3510 of file outfuncs.c.

3511 {
3512  WRITE_NODE_TYPE("RANGETBLFUNCTION");
3513 
3514  WRITE_NODE_FIELD(funcexpr);
3515  WRITE_INT_FIELD(funccolcount);
3516  WRITE_NODE_FIELD(funccolnames);
3517  WRITE_NODE_FIELD(funccoltypes);
3518  WRITE_NODE_FIELD(funccoltypmods);
3519  WRITE_NODE_FIELD(funccolcollations);
3520  WRITE_BITMAPSET_FIELD(funcparams);
3521 }

References WRITE_BITMAPSET_FIELD, WRITE_INT_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRangeTblRef()

static void _outRangeTblRef ( StringInfo  str,
const RangeTblRef node 
)
static

Definition at line 1722 of file outfuncs.c.

1723 {
1724  WRITE_NODE_TYPE("RANGETBLREF");
1725 
1726  WRITE_INT_FIELD(rtindex);
1727 }

References WRITE_INT_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRangeVar()

static void _outRangeVar ( StringInfo  str,
const RangeVar node 
)
static

Definition at line 1085 of file outfuncs.c.

1086 {
1087  WRITE_NODE_TYPE("RANGEVAR");
1088 
1089  /*
1090  * we deliberately ignore catalogname here, since it is presently not
1091  * semantically meaningful
1092  */
1093  WRITE_STRING_FIELD(schemaname);
1095  WRITE_BOOL_FIELD(inh);
1096  WRITE_CHAR_FIELD(relpersistence);
1097  WRITE_NODE_FIELD(alias);
1098  WRITE_LOCATION_FIELD(location);
1099 }
NameData relname
Definition: pg_class.h:38

References relname, WRITE_BOOL_FIELD, WRITE_CHAR_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, WRITE_NODE_TYPE, and WRITE_STRING_FIELD.

Referenced by outNode().

◆ _outRawStmt()

static void _outRawStmt ( StringInfo  str,
const RawStmt node 
)
static

Definition at line 3673 of file outfuncs.c.

3674 {
3675  WRITE_NODE_TYPE("RAWSTMT");
3676 
3677  WRITE_NODE_FIELD(stmt);
3678  WRITE_LOCATION_FIELD(stmt_location);
3679  WRITE_INT_FIELD(stmt_len);
3680 }

References WRITE_INT_FIELD, WRITE_LOCATION_FIELD, WRITE_NODE_FIELD, and WRITE_NODE_TYPE.

Referenced by outNode().

◆ _outRecursiveUnion()

static void _outRecursiveUnion ( StringInfo  str,
const RecursiveUnion node 
)
static

Definition at line 474 of file outfuncs.c.

475 {
476  WRITE_NODE_TYPE("RECURSIVEUNION");
477