X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id C1548D1B498 for ; Fri, 23 Apr 2004 15:26:50 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 23856-07 for ; Fri, 23 Apr 2004 15:26:50 -0300 (ADT) Received: from trolak.mydnsbox2.com (ns1.mydnsbox2.com [207.44.142.118]) by svr1.postgresql.org (Postfix) with ESMTP id CD2CFD1CCDC for ; Fri, 23 Apr 2004 15:26:46 -0300 (ADT) Received: from dunslane.net (x.ncshp.org [199.90.235.43]) (authenticated (0 bits)) by trolak.mydnsbox2.com (8.11.6/8.11.6) with ESMTP id i3NISQK25292 for ; Fri, 23 Apr 2004 13:28:26 -0500 Message-ID: <4089603A.6050904@dunslane.net> Date: Fri, 23 Apr 2004 14:28:10 -0400 From: Andrew Dunstan User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040116 X-Accept-Language: en-us, en MIME-Version: 1.0 To: PostgreSQL-development Subject: Re: [pgsql-advocacy] What can we learn from MySQL? References: <1082735128.22969.1106.camel@camel> <20040423094236.J17459@megazone.bigpanda.com> <40894E5A.4060102@dunslane.net> <1082743986.25537.1129.camel@camel> In-Reply-To: <1082743986.25537.1129.camel@camel> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at postgresql.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200404/748 X-Sequence-Number: 52670 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