From: | Joel Jacobson <joel(at)trustly(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: case_preservation_and_insensitivity = on |
Date: | 2017-02-16 17:46:18 |
Message-ID: | CAASwCXf6JkSRr0hVXM+TJNFYzb4Euuc_mL-=BVRiYK00sgThbQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Feb 16, 2017 at 6:53 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Have you read any of our innumerable previous discussions about this?
No, sorry, didn't see them, thanks for sharing the links.
> The short answer is that nobody can see a way to modify the identifier
> case-folding rules that isn't going to add more pain than it subtracts.
> And much of the added pain will be felt by people who aren't getting
> any benefit, who will therefore be vociferously against the whole thing.
I've read the discussion and have an idea:
When case preservation by default is on, then simply enforce
UNIQUE(LOWER(object_name)), to prevent ambiguity.
If all objects lowercase names are unique, but the casing is
preserved, then a user who later on suffers from problems with
external tools that work poorly with non-lowercase object names, could
then simply switch back to lowercase object names by changing the GUC.
OTOH, if not enforcing lowercase uniqueness, there would be a risk two
objects with different casing would have conflicting lowercase names,
and then the user who later runs into problems with some external tool
would have a serious problem, since switching to lowercase would not
be an option.
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2017-02-16 18:02:51 | pgsql: Add new function dsa_allocate0. |
Previous Message | Fabien COELHO | 2017-02-16 17:45:57 | Re: duplicate "median" entry in doc |