2016-01-19 16:07 GMT+01:00 Merlin Moncure <mmoncure@xxxxxxxxx>:
For database functions, is there any way to manage collations besides
dynamic sql? It doesn't look like there is but I thought I'd ask.
For example, I want to do something like:
DO
$$
DECLARE
c name DEFAULT 'en_GB';
BEGIN
SELECT * FROM foo ORDER BY a COLLATE c;
END;
$$;
and not
DO
$$
DECLARE
c name DEFAULT 'en_GB';
BEGIN
EXECUTE 'SELECT * FROM foo ORDER BY a COLLATE ' || quote_ident(c);
END;
$$;
I understand this would disable all index supported sorting; that's ok.
Not being able to specify collation in a parameterized manner presents
some issues...I'm curious if there are workarounds.
Different collates requires different plans - so using dynamic SQL is much more correct.
It is same like using variables as columns or tablenames.
Regards
Pavel
merlin
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general