On ons, 2011-03-09 at 18:07 -0500, Tom Lane wrote:
> The first of these errors is OK, but surely the second is not, because
> ||
> doesn't give a fig about collations.  I think instead of this:
> 
>         /* XXX: If we knew which functions required collation
> information,
>          * we could selectively set the last argument to true here. */
>         funccollid = select_common_collation(pstate, fargs, false);
> 
> we need:
> 
>         /*
>          * If we knew which functions required collation information,
>          * we could selectively set the last argument to false here,
>          * allowing the error to be reported at parse time not
> runtime.
>          */
>         funccollid = select_common_collation(pstate, fargs, true);
> 
> Now the downside of that is that a runtime failure won't give you an
> parse error pointer to indicate which function is having trouble ...
> but having an error pointer for an error that shouldn't be thrown in
> the first place is small consolation.

Sounds reasonable.

Btw., the ultimate plan here was that functions or operators that would
care about collation would be marked as such in pg_proc.  That plan
basically just ran out of time, but if you think it'd be useful, maybe
we could reactivate it quickly.



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to