@ -234,9 +234,9 @@ typedef struct Query
* both be - 1 meaning " unknown " .
*/
/* start location, or -1 if unknown */
int stmt_location ;
ParseLoc stmt_location ;
/* length in bytes; 0 means "rest of string" */
int stmt_len pg_node_attr ( query_jumble_ignore ) ;
ParseLoc stmt_len pg_node_attr ( query_jumble_ignore ) ;
} Query ;
@ -271,7 +271,7 @@ typedef struct TypeName
List * typmods ; /* type modifier expression(s) */
int32 typemod ; /* prespecified type modifier */
List * arrayBounds ; /* array bounds */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} TypeName ;
/*
@ -291,7 +291,7 @@ typedef struct ColumnRef
{
NodeTag type ;
List * fields ; /* field names (String nodes) or A_Star */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} ColumnRef ;
/*
@ -301,7 +301,7 @@ typedef struct ParamRef
{
NodeTag type ;
int number ; /* the number of the parameter */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} ParamRef ;
/*
@ -334,7 +334,7 @@ typedef struct A_Expr
List * name ; /* possibly-qualified name of operator */
Node * lexpr ; /* left argument, or NULL if none */
Node * rexpr ; /* right argument, or NULL if none */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} A_Expr ;
/*
@ -360,7 +360,7 @@ typedef struct A_Const
NodeTag type ;
union ValUnion val ;
bool isnull ; /* SQL NULL constant */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} A_Const ;
/*
@ -371,7 +371,7 @@ typedef struct TypeCast
NodeTag type ;
Node * arg ; /* the expression being casted */
TypeName * typeName ; /* the target type */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} TypeCast ;
/*
@ -382,7 +382,7 @@ typedef struct CollateClause
NodeTag type ;
Node * arg ; /* input expression */
List * collname ; /* possibly-qualified collation name */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} CollateClause ;
/*
@ -402,7 +402,7 @@ typedef struct RoleSpec
NodeTag type ;
RoleSpecType roletype ; /* Type of this rolespec */
char * rolename ; /* filled only for ROLESPEC_CSTRING */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} RoleSpec ;
/*
@ -432,7 +432,7 @@ typedef struct FuncCall
bool agg_distinct ; /* arguments were labeled DISTINCT */
bool func_variadic ; /* last argument was labeled VARIADIC */
CoercionForm funcformat ; /* how to display this node */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} FuncCall ;
/*
@ -489,7 +489,7 @@ typedef struct A_ArrayExpr
{
NodeTag type ;
List * elements ; /* array element expressions */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} A_ArrayExpr ;
/*
@ -516,7 +516,7 @@ typedef struct ResTarget
char * name ; /* column name or NULL */
List * indirection ; /* subscripts, field names, and '*', or NIL */
Node * val ; /* the value expression to compute or assign */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} ResTarget ;
/*
@ -546,7 +546,7 @@ typedef struct SortBy
SortByDir sortby_dir ; /* ASC/DESC/USING/default */
SortByNulls sortby_nulls ; /* NULLS FIRST/LAST */
List * useOp ; /* name of op to use, if SORTBY_USING */
int location ; /* operator location, or -1 if none/unknown */
ParseLoc location ; /* operator location, or -1 if none/unknown */
} SortBy ;
/*
@ -567,7 +567,7 @@ typedef struct WindowDef
int frameOptions ; /* frame_clause options, see below */
Node * startOffset ; /* expression for starting bound, if any */
Node * endOffset ; /* expression for ending bound, if any */
int location ; /* parse location, or -1 if none/unknown */
ParseLoc location ; /* parse location, or -1 if none/unknown */
} WindowDef ;
/*
@ -657,7 +657,7 @@ typedef struct RangeTableFunc
List * namespaces ; /* list of namespaces as ResTarget */
List * columns ; /* list of RangeTableFuncCol */
Alias * alias ; /* table alias & optional column aliases */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} RangeTableFunc ;
/*
@ -675,7 +675,7 @@ typedef struct RangeTableFuncCol
bool is_not_null ; /* does it have NOT NULL? */
Node * colexpr ; /* column filter expression */
Node * coldefexpr ; /* column default value expression */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} RangeTableFuncCol ;
/*
@ -695,7 +695,7 @@ typedef struct RangeTableSample
List * method ; /* sampling method name (possibly qualified) */
List * args ; /* argument(s) for sampling method */
Node * repeatable ; /* REPEATABLE expression, or NULL if none */
int location ; /* method name location, or -1 if unknown */
ParseLoc location ; /* method name location, or -1 if unknown */
} RangeTableSample ;
/*
@ -738,7 +738,7 @@ typedef struct ColumnDef
Oid collOid ; /* collation OID (InvalidOid if not set) */
List * constraints ; /* other constraints on column */
List * fdwoptions ; /* per-column FDW options */
int location ; /* parse location, or -1 if none/unknown */
ParseLoc location ; /* parse location, or -1 if none/unknown */
} ColumnDef ;
/*
@ -812,7 +812,7 @@ typedef struct DefElem
Node * arg ; /* typically Integer, Float, String, or
* TypeName */
DefElemAction defaction ; /* unspecified action, or SET/ADD/DROP */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} DefElem ;
/*
@ -842,7 +842,7 @@ typedef struct XmlSerialize
Node * expr ;
TypeName * typeName ;
bool indent ; /* [NO] INDENT */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} XmlSerialize ;
/* Partitioning related definitions */
@ -860,7 +860,7 @@ typedef struct PartitionElem
Node * expr ; /* expression to partition on, or NULL */
List * collation ; /* name of collation; NIL = default */
List * opclass ; /* name of desired opclass; NIL = default */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} PartitionElem ;
typedef enum PartitionStrategy
@ -880,7 +880,7 @@ typedef struct PartitionSpec
NodeTag type ;
PartitionStrategy strategy ;
List * partParams ; /* List of PartitionElems */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} PartitionSpec ;
/*
@ -907,7 +907,7 @@ struct PartitionBoundSpec
List * lowerdatums ; /* List of PartitionRangeDatums */
List * upperdatums ; /* List of PartitionRangeDatums */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} ;
/*
@ -930,7 +930,7 @@ typedef struct PartitionRangeDatum
Node * value ; /* Const (or A_Const in raw tree), if kind is
* PARTITION_RANGE_DATUM_VALUE , else NULL */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} PartitionRangeDatum ;
/*
@ -1466,7 +1466,7 @@ typedef struct GroupingSet
NodeTag type ;
GroupingSetKind kind pg_node_attr ( query_jumble_ignore ) ;
List * content ;
int location ;
ParseLoc location ;
} GroupingSet ;
/*
@ -1554,7 +1554,7 @@ typedef struct WithClause
NodeTag type ;
List * ctes ; /* list of CommonTableExprs */
bool recursive ; /* true = WITH RECURSIVE */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} WithClause ;
/*
@ -1569,7 +1569,7 @@ typedef struct InferClause
List * indexElems ; /* IndexElems to infer unique index */
Node * whereClause ; /* qualification (partial-index predicate) */
char * conname ; /* Constraint name, or NULL if unnamed */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} InferClause ;
/*
@ -1585,7 +1585,7 @@ typedef struct OnConflictClause
InferClause * infer ; /* Optional index inference clause */
List * targetList ; /* the target list (of ResTarget) */
Node * whereClause ; /* qualifications */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} OnConflictClause ;
/*
@ -1606,7 +1606,7 @@ typedef struct CTESearchClause
List * search_col_list ;
bool search_breadth_first ;
char * search_seq_column ;
int location ;
ParseLoc location ;
} CTESearchClause ;
typedef struct CTECycleClause
@ -1617,7 +1617,7 @@ typedef struct CTECycleClause
Node * cycle_mark_value ;
Node * cycle_mark_default ;
char * cycle_path_column ;
int location ;
ParseLoc location ;
/* These fields are set during parse analysis: */
Oid cycle_mark_type ; /* common type of _value and _default */
int cycle_mark_typmod ;
@ -1641,7 +1641,7 @@ typedef struct CommonTableExpr
Node * ctequery ; /* the CTE's subquery */
CTESearchClause * search_clause pg_node_attr ( query_jumble_ignore ) ;
CTECycleClause * cycle_clause pg_node_attr ( query_jumble_ignore ) ;
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
/* These fields are set during parse analysis: */
/* is this CTE actually recursive? */
bool cterecursive pg_node_attr ( query_jumble_ignore ) ;
@ -1737,7 +1737,7 @@ typedef struct JsonParseExpr
JsonValueExpr * expr ; /* string expression */
JsonOutput * output ; /* RETURNING clause, if specified */
bool unique_keys ; /* WITH UNIQUE KEYS? */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonParseExpr ;
/*
@ -1749,7 +1749,7 @@ typedef struct JsonScalarExpr
NodeTag type ;
Expr * expr ; /* scalar expression */
JsonOutput * output ; /* RETURNING clause, if specified */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonScalarExpr ;
/*
@ -1761,7 +1761,7 @@ typedef struct JsonSerializeExpr
NodeTag type ;
JsonValueExpr * expr ; /* json value expression */
JsonOutput * output ; /* RETURNING clause, if specified */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonSerializeExpr ;
/*
@ -1775,7 +1775,7 @@ typedef struct JsonObjectConstructor
JsonOutput * output ; /* RETURNING clause, if specified */
bool absent_on_null ; /* skip NULL values? */
bool unique ; /* check key uniqueness? */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonObjectConstructor ;
/*
@ -1788,7 +1788,7 @@ typedef struct JsonArrayConstructor
List * exprs ; /* list of JsonValueExpr elements */
JsonOutput * output ; /* RETURNING clause, if specified */
bool absent_on_null ; /* skip NULL elements? */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonArrayConstructor ;
/*
@ -1802,7 +1802,7 @@ typedef struct JsonArrayQueryConstructor
JsonOutput * output ; /* RETURNING clause, if specified */
JsonFormat * format ; /* FORMAT clause for subquery, if specified */
bool absent_on_null ; /* skip NULL elements? */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonArrayQueryConstructor ;
/*
@ -1817,7 +1817,7 @@ typedef struct JsonAggConstructor
Node * agg_filter ; /* FILTER clause, if any */
List * agg_order ; /* ORDER BY clause, if any */
struct WindowDef * over ; /* OVER clause, if any */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} JsonAggConstructor ;
/*
@ -1871,8 +1871,8 @@ typedef struct RawStmt
NodeTag type ;
Node * stmt ; /* raw parse tree */
int stmt_location ; /* start location, or -1 if unknown */
int stmt_len ; /* length in bytes; 0 means "rest of string" */
ParseLoc stmt_location ; /* start location, or -1 if unknown */
ParseLoc stmt_len ; /* length in bytes; 0 means "rest of string" */
} RawStmt ;
/*****************************************************************************
@ -2080,7 +2080,7 @@ typedef struct PLAssignStmt
List * indirection ; /* subscripts and field names, if any */
int nnames ; /* number of names to use in ColumnRef */
SelectStmt * val ; /* the PL/pgSQL expression to assign */
int location ; /* name's token location, or -1 if unknown */
ParseLoc location ; /* name's token location, or -1 if unknown */
} PLAssignStmt ;
@ -2622,7 +2622,7 @@ typedef struct Constraint
Oid old_pktable_oid ; /* pg_constraint.confrelid of my former
* self */
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} Constraint ;
/* ----------------------
@ -3529,7 +3529,7 @@ typedef struct TransactionStmt
char * gid pg_node_attr ( query_jumble_ignore ) ;
bool chain ; /* AND CHAIN option */
/* token location, or -1 if unknown */
int location pg_node_attr ( query_jumble_location ) ;
ParseLoc location pg_node_attr ( query_jumble_location ) ;
} TransactionStmt ;
/* ----------------------
@ -3915,7 +3915,7 @@ typedef struct DeallocateStmt
/* true if DEALLOCATE ALL */
bool isall ;
/* token location, or -1 if unknown */
int location pg_node_attr ( query_jumble_location ) ;
ParseLoc location pg_node_attr ( query_jumble_location ) ;
} DeallocateStmt ;
/*
@ -4003,7 +4003,7 @@ typedef struct PublicationObjSpec
PublicationObjSpecType pubobjtype ; /* type of this publication object */
char * name ;
PublicationTable * pubtable ;
int location ; /* token location, or -1 if unknown */
ParseLoc location ; /* token location, or -1 if unknown */
} PublicationObjSpec ;
typedef struct CreatePublicationStmt