Dynamic collation support

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Dynamic collation support
Date: 2016-01-19 15:07:29
Message-ID: CAHyXU0y16yvSR+Gg3BN--vFpxaE8as=2XNLF24291hsO4acx6w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2016-01-19 15:15:11 Re: Dynamic collation support
Previous Message DerekW 2016-01-19 10:58:13 Re: Error installing 9.5 on Win 2012 R2: data dir not created