Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) by postgresql.org (Postfix) with ESMTP id 8D90D47594A; Fri, 19 Jul 2002 15:47:46 -0400 (EDT) Received: by megazone.bigpanda.com (Postfix, from userid 1001) id 67060D602; Fri, 19 Jul 2002 12:47:47 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by megazone.bigpanda.com (Postfix) with ESMTP id 5CB8E5C02; Fri, 19 Jul 2002 12:47:47 -0700 (PDT) Date: Fri, 19 Jul 2002 12:47:47 -0700 (PDT) From: Stephan Szabo To: "scott.marlowe" Cc: Tom Lane , , Subject: Re: [SQL] id and ID in CREATE TABLE In-Reply-To: Message-ID: <20020719124206.U84503-100000@megazone23.bigpanda.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Archive-Number: 200207/1243 X-Sequence-Number: 27730 On Fri, 19 Jul 2002, scott.marlowe wrote: > On Fri, 19 Jul 2002, Tom Lane wrote: > > > "scott.marlowe" writes: > > > Agreed. Absolutely. But, since the SQL standard says upper case, > > > wouldn't it be useful to at least have a switch (run time, initdb time, > > > or ./configure time???) called something like FOLDTOUPPER (in upper case > > > of course :-) > > > > The main problem with this is what do you do with the system catalogs? > > If we start folding to upper case then existing clients will break > > unless we also rename pg_class to PG_CLASS, etc; and that will break > > them anyway if they wrote "pg_class". > > > > I don't believe that conforming to this particular small aspect of the > > spec is worth the pain it would cause. > > But it's not a small aspect if it means someone either can't use an app > with postgresql because it was written to spec, or someone has to spend > a bunch of time rewriting all their queries to work with postgresql. Presumably that's only true if they're mixing quoted and unquoted identifiers, which is a bad idea in any case (since what happens to "foo" and foo - do you trust somebody who's mixing them to get it right everywhere :) ?) or their application is using the names returned elsewhere (which is a problem with doing it as lower). If create table FOO(col1 int, Col2 int, cOL3 int); select COL1 from foo; failed, I think people would be more interested in changing it.