On Mon, Jun 29, 2009 at 10:08 AM, David Fetter <da...@fetter.org> wrote:

> On Mon, Jun 29, 2009 at 09:54:04AM -0700, Jonathan Leffler wrote:
> > On Mon, Jun 29, 2009 at 9:23 AM, David Fetter <da...@fetter.org> wrote:
> >
> > > On Mon, Jun 29, 2009 at 04:26:30PM +0100, Tim Bunce wrote:
> > > > Oracle is one of those databases that uppercases (unquoted)
> > > > names.  That's perfectly valid behaviour - though it can be a
> > > > major pain.
> > >
> > > It's not just valid behavior.  It's mandated by the SQL standard
> > > :(
> >
> >
> > The standard also says that these are 3 separate tables:
> >
> > CREATE TABLE "foo" (...); CREATE TABLE "FOO" (...); CREATE TABLE
> > "Foo" (...);
>
> Yes, but we were discussing case-folding behavior in unquoted
> identifiers.  The standard is clear on this, an it mandates
> fold-to-upper.
>
> It's the only place I know of where PostgreSQL intentionally violates
> the standard, that violation being that it folds to lower instead.
>

IDS folds to lower case too - even in a MODE ANSI database.
However, IDS folds schema identifiers to upper case.  In a 'MODE ANSI'
database:

CREATE TABLE SomeSchema.SomeTable(...);

The lookup would need to search for SOMESCHEMA and sometable (a decision
made to preserve backwards compatibility in about 1988).  And the schema
name (called user name in Informix) can be quoted (with single or double
quotes) regardless of whether the main switch allows delimited identifiers
for table names, column names, and so on.

Systems are weird...

-- 
Jonathan Leffler <jonathan.leff...@gmail.com>  #include <disclaimer.h>
Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."

Reply via email to