summaryrefslogtreecommitdiff
path: root/src/include/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/parser')
-rw-r--r--src/include/parser/parse_agg.h1
-rw-r--r--src/include/parser/parse_coerce.h2
-rw-r--r--src/include/parser/parse_node.h1
-rw-r--r--src/include/parser/parse_type.h11
-rw-r--r--src/include/parser/parsetree.h2
5 files changed, 13 insertions, 4 deletions
diff --git a/src/include/parser/parse_agg.h b/src/include/parser/parse_agg.h
index 716c3d2d13b..76d806dd40e 100644
--- a/src/include/parser/parse_agg.h
+++ b/src/include/parser/parse_agg.h
@@ -30,6 +30,7 @@ extern void build_aggregate_fnexprs(Oid *agg_input_types,
Oid agg_result_type,
Oid transfn_oid,
Oid finalfn_oid,
+ Oid collation,
Expr **transfnexpr,
Expr **finalfnexpr);
diff --git a/src/include/parser/parse_coerce.h b/src/include/parser/parse_coerce.h
index ceaff2f9a92..9f79ad89d41 100644
--- a/src/include/parser/parse_coerce.h
+++ b/src/include/parser/parse_coerce.h
@@ -87,4 +87,6 @@ extern CoercionPathType find_coercion_pathway(Oid targetTypeId,
extern CoercionPathType find_typmod_coercion_function(Oid typeId,
Oid *funcid);
+extern Oid select_common_collation(ParseState *pstate, List *exprs, bool none_ok);
+
#endif /* PARSE_COERCE_H */
diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h
index edae0527e6e..a1511cbe64c 100644
--- a/src/include/parser/parse_node.h
+++ b/src/include/parser/parse_node.h
@@ -145,6 +145,7 @@ extern ArrayRef *transformArraySubscripts(ParseState *pstate,
Oid arrayType,
Oid elementType,
int32 arrayTypMod,
+ Oid arrayColl,
List *indirection,
Node *assignFrom);
extern Const *make_const(ParseState *pstate, Value *value, int location);
diff --git a/src/include/parser/parse_type.h b/src/include/parser/parse_type.h
index dadcde790c9..8621ab678d0 100644
--- a/src/include/parser/parse_type.h
+++ b/src/include/parser/parse_type.h
@@ -20,12 +20,17 @@
typedef HeapTuple Type;
extern Type LookupTypeName(ParseState *pstate, const TypeName *typeName,
- int32 *typmod_p);
+ int32 *typmod_p, Oid *collid_p);
extern Type typenameType(ParseState *pstate, const TypeName *typeName,
- int32 *typmod_p);
+ int32 *typmod_p, Oid *collid_p);
+
+extern Oid LookupCollation(ParseState *pstate, List *collnames, int location);
+
extern Oid typenameTypeId(ParseState *pstate, const TypeName *typeName);
extern void typenameTypeIdAndMod(ParseState *pstate, const TypeName *typeName,
- Oid *typeid_p, int32 *typmod_p);
+ Oid *typeid_p, int32 *typmod_p);
+extern void typenameTypeIdModColl(ParseState *pstate, const TypeName *typeName,
+ Oid *typeid_p, int32 *typmod_p, Oid *collid_p);
extern char *TypeNameToString(const TypeName *typeName);
extern char *TypeNameListToString(List *typenames);
diff --git a/src/include/parser/parsetree.h b/src/include/parser/parsetree.h
index efdbc1ab81c..b0aebd5ef81 100644
--- a/src/include/parser/parsetree.h
+++ b/src/include/parser/parsetree.h
@@ -52,7 +52,7 @@ extern char *get_rte_attribute_name(RangeTblEntry *rte, AttrNumber attnum);
* type and typemod info for that attribute of that RTE.
*/
extern void get_rte_attribute_type(RangeTblEntry *rte, AttrNumber attnum,
- Oid *vartype, int32 *vartypmod);
+ Oid *vartype, int32 *vartypmod, Oid *varcollid);
/*
* Check whether an attribute of an RTE has been dropped (note that