Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id 9AAC39FB227; Tue, 14 Nov 2006 17:43:15 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 76958-04; Tue, 14 Nov 2006 21:43:11 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey- X-Greylist: from auto-whitelisted by SQLgrey- Received: from mail01.enterprisedb.com (mail01.enterprisedb.com [63.246.7.168]) by postgresql.org (Postfix) with ESMTP id 5C98D9FB232; Tue, 14 Nov 2006 17:43:11 -0400 (AST) thread-index: AccINeJLk9Ua7aFcRWuqTkoxeIdqRg== Received: from [192.168.0.31] ([84.12.80.212]) by mail01.enterprisedb.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 14 Nov 2006 16:43:11 -0500 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.2757 Content-class: urn:content-classes:message Importance: normal Subject: Re: [SQL] Case Preservation disregarding case From: "Simon Riggs" To: "Tom Lane" Cc: "Chuck McDevitt" , "Stephan Szabo" , "beau hargis" , , In-Reply-To: <16897.1162482685@sss.pgh.pa.us> References: <200610271623.37525.beauh@bluefrogmobile.com> <1162003132.687.8.camel@pampa> <200610301928.51255.beauh@bluefrogmobile.com> <23177.1162265010@sss.pgh.pa.us> <24861.1162276496@sss.pgh.pa.us> <20061031101314.R83230@megazone.bigpanda.com> <14059.1162363105@sss.pgh.pa.us> <1162463264.3587.281.camel@silverbirch.site> <16897.1162482685@sss.pgh.pa.us> Content-Type: text/plain; charset="iso-8859-1" Date: Tue, 14 Nov 2006 21:42:33 +0000 Message-ID: <1163540553.27956.109.camel@silverbirch.site> MIME-Version: 1.0 X-Mailer: Evolution 2.6.0 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 14 Nov 2006 21:43:11.0531 (UTC) FILETIME=[E1A4C7B0:01C70835] X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200611/339 X-Sequence-Number: 93801 On Thu, 2006-11-02 at 10:51 -0500, Tom Lane wrote: > "Simon Riggs" writes: > > We have namespaces to differentiate between two sources of object names, > > so anybody who creates a schema where MyColumn is not the same thing as > > myColumn is not following sensible rules for conceptual distance. > > I'd agree that that is not a good design practice, but the fact remains > that they *are* different per spec. > > > Would be better to make this behaviour a userset > > switchable between the exactly compliant and the more intuitive. > > That's certainly not happening --- if you make any changes in the > semantics of equality of type name, it would have to be frozen no > later than initdb time, for exactly the same reasons we freeze > locale then (hint: index ordering). [Re-read all of this after Bruce's post got me thinking.] My summary of the thread, with TODO items noted: 1. PostgreSQL doesn't follow the spec, but almost does, with regard to comparison of unquoted and quoted identifiers. DB2 does this per spec. 2. TODO: We could follow the spec, but it would need an initdb option; some non-SQL:2003 standard PostgreSQL programs would not work as they do now. This is considered a minor, low priority item, though. 3. TODO: We could set column headers better if we wanted to (rather than ?column? we could use e.g. Sum_ColumnName etc) -- Simon Riggs EnterpriseDB http://www.enterprisedb.com