mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
Fix handling of collation in SQL-language functions.
Ensure that parameter symbols receive collation from the function's resolved input collation, and fix inlining to behave properly. BTW, this commit lays about 90% of the infrastructure needed to support use of argument names in SQL functions. Parsing of parameters is now done via the parser-hook infrastructure ... we'd just need to supply a column-ref hook ...
This commit is contained in:
@ -231,6 +231,11 @@ variable_coerce_param_hook(ParseState *pstate, Param *param,
|
||||
*/
|
||||
param->paramtypmod = -1;
|
||||
|
||||
/*
|
||||
* This module always sets a Param's collation to be the default for
|
||||
* its datatype. If that's not what you want, you should be using
|
||||
* the more general parser substitution hooks.
|
||||
*/
|
||||
param->paramcollid = get_typcollation(param->paramtype);
|
||||
|
||||
/* Use the leftmost of the param's and coercion's locations */
|
||||
|
Reference in New Issue
Block a user