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.
merlin