|
|
@ -540,7 +540,7 @@ coerce_type(ParseState *pstate, Node *node, |
|
|
|
* as this determines the set of available casts. |
|
|
|
* as this determines the set of available casts. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
bool |
|
|
|
bool |
|
|
|
can_coerce_type(int nargs, Oid *input_typeids, Oid *target_typeids, |
|
|
|
can_coerce_type(int nargs, const Oid *input_typeids, const Oid *target_typeids, |
|
|
|
CoercionContext ccontext) |
|
|
|
CoercionContext ccontext) |
|
|
|
{ |
|
|
|
{ |
|
|
|
bool have_generics = false; |
|
|
|
bool have_generics = false; |
|
|
@ -1467,8 +1467,8 @@ coerce_to_common_type(ParseState *pstate, Node *node, |
|
|
|
* We do not ereport here, but just return false if a rule is violated. |
|
|
|
* We do not ereport here, but just return false if a rule is violated. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
bool |
|
|
|
bool |
|
|
|
check_generic_type_consistency(Oid *actual_arg_types, |
|
|
|
check_generic_type_consistency(const Oid *actual_arg_types, |
|
|
|
Oid *declared_arg_types, |
|
|
|
const Oid *declared_arg_types, |
|
|
|
int nargs) |
|
|
|
int nargs) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int j; |
|
|
|
int j; |
|
|
@ -1664,7 +1664,7 @@ check_generic_type_consistency(Oid *actual_arg_types, |
|
|
|
* assume that successive inputs are of the same actual element type. |
|
|
|
* assume that successive inputs are of the same actual element type. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
Oid |
|
|
|
Oid |
|
|
|
enforce_generic_type_consistency(Oid *actual_arg_types, |
|
|
|
enforce_generic_type_consistency(const Oid *actual_arg_types, |
|
|
|
Oid *declared_arg_types, |
|
|
|
Oid *declared_arg_types, |
|
|
|
int nargs, |
|
|
|
int nargs, |
|
|
|
Oid rettype, |
|
|
|
Oid rettype, |
|
|
|