Re: SQL Standards Compliance With Case - Mailing list pgsql-general

From Scott Marlowe
Subject Re: SQL Standards Compliance With Case
Date
Msg-id 1152805985.14241.65.camel@state.g2switchworks.com
Whole thread Raw
In response to Re: SQL Standards Compliance With Case  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wed, 2006-07-12 at 22:26, Tom Lane wrote:
> Rich Shepard <rshepard@appl-ecosys.com> writes:
> >    I'm trying to assist the XRMS developers port their application to
> > postgres (8.1.x on), and it's almost there. One (perhaps the only) stumbling
> > block is case for table and column (relation and attribute) names.
> > Apparently MySQL allows for mixed case, while postgres wants only lower
> > case. One of the development team asked me to enquire when postgres would be
> > fully compliant with the SQL standard in this reqard.
>
> It's probably worth pointing out here that the MySQL behavior they seem
> to be expecting is considerably further from the spec than Postgres's
> behavior.  If I'm reading between the lines correctly, they are
> expecting foo and Foo (both written without double-quotes) to be
> distinct identifiers.  But these are the same identifier per spec,
> because the spec *requires* case-folding of unquoted identifiers.

It's even worse than that.  MySQL uses filenames to identify tables,
like PostgreSQL did back in the days when dinosaurs roamed the plains
and the British Police force drove sexy cars (ok, not that far back, but
anyway)...

This means that when installed in unix, table Foo and table foo are
unique and pretty flowers, but when installed on Windows, they are the
same name...

My recommendation is to either stick to one case, all the time, or to
quote, all the time.  I prefer to just stick to one case all the time.


pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: cant connect to the database, even after doing start
Next
From: Claire McLister
Date:
Subject: Re: stored function - array parameter - how many element in array ?