public inbox for [email protected]  
help / color / mirror / Atom feed
From: Andrew Dunstan <[email protected]>
To: PostgreSQL-development <[email protected]>
Subject: Re: [pgsql-advocacy] What can we learn from MySQL?
Date: Fri, 23 Apr 2004 14:28:10 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <1082743986.25537.1129.camel@camel>
References: <[email protected]>
	<1082735128.22969.1106.camel@camel>
	<[email protected]>
	<[email protected]>
	<1082743986.25537.1129.camel@camel>

Robert Treat wrote:

>On Fri, 2004-04-23 at 13:11, Andrew Dunstan wrote:
>  
>
>>Stephan Szabo wrote:
>>
>>    
>>
>>>>I know this to be true, but don't fully understand it... if our default
>>>>behavior is to fold lower, and we change it to just fold upper... then
>>>>in theory this shouldn't break anything since what used to be folder
>>>>lower will now simply be folder upper. the only people who will have a
>>>>problem are those who quote on one end but not the other, which is bad
>>>>practice anyways...  so i would say if your serious about it, make the
>>>>patch as GUC "case_folding" for upper or lower and get a taste for what
>>>>breaks inside the db.
>>>>   
>>>>
>>>>        
>>>>
>>>I've tried just changing the parser to unconditionally casefold to upper.
>>>First thing that happens is that initdb breaks. In addition, you have
>>>potential issues with comparisons against the catalog's versions of
>>>standard functions as such if you allow the case folding to be changed
>>>after the catalogs are setup.
>>>
>>> 
>>>
>>>      
>>>
>>ISTM that rather than a having a GUC setting, initdb would be the right 
>>time to make this choice. I'm not saying it would be easy, but it seems 
>>(without looking into it deeply) at least possible.
>>
>>    
>>
>
>This implies that the standard functions are created with explicit
>quoting to make the lower case named?  Shouldn't all functions be
>created without any quoting so they fold to whichever way the settings
>are set?  Hmm... I see your angle Andrew.. they are going to be created
>one way or the other so you'd be hard pressed to do it at any time other
>than initdb time... of course you could just create duplicates of all
>the functions in both upper and lower case, that way whichever way you
>fold it matches :-)
>
>  
>

That strikes me as an instant recipe for shooting yourself in the foot, 
as well as providing useless catalog bloat. Things need *one* canonical 
name, IMNSHO.

cheers

andrew



view thread (145+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: [pgsql-advocacy] What can we learn from MySQL?
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox