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 ...
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/27dc7e240bfd230ee1315cc00577a6ed72aff94a
Modified Files
--------------
src/backend/catalog/pg_proc.c | 13 +-
src/backend/executor/functions.c | 174 +++++++++++++++++-----
src/backend/optimizer/util/clauses.c | 106 +++++++++----
src/backend/parser/parse_param.c | 5 +
src/include/executor/functions.h | 9 +
src/test/regress/expected/collate.linux.utf8.out | 53 +++++++
src/test/regress/sql/collate.linux.utf8.sql | 19 +++
7 files changed, 303 insertions(+), 76 deletions(-)