Re: [JDBC] Case folding in DatabaseMetaData - Mailing list pgsql-odbc

From Benoit Menendez
Subject Re: [JDBC] Case folding in DatabaseMetaData
Date
Msg-id 000b01c1c088$8c23db90$0201a8c0@osprey
Whole thread Raw
In response to Case folding in DatabaseMetaData  (Benoit Menendez <benoitm@pacbell.net>)
List pgsql-odbc
Let's just say that this makes office applications fail with the existing
ODBC driver unless you override the ~~ (like) operator in the database to
use the case insensitive version of like with:

DROP OPERATOR ~~ (name, text);
CREATE OPERATOR ~~ (PROCEDURE = nameiclike, LEFTARG = name, RIGHTARG = text,
NEGATOR = !~~ );

    Benoit

----- Original Message -----
From: "Barry Lind" <barry@xythos.com>
To: "Benoit Menendez" <benoitm@pacbell.net>
Cc: <pgsql-jdbc@postgresql.org>; <pgsql-odbc@postgresql.org>
Sent: Wednesday, February 06, 2002 6:19 PM
Subject: Re: [JDBC] Case folding in DatabaseMetaData


> Benoit,
>
> Postgres doesn't fold all table and column names to lowercase.  If the
> identifier is enclosed in quotes then the case is preserved.  Thus it is
> possible to have three tables all named test but differing in their case:
>
> TEST
> Test
> test
>
> can all exist at the same time.  However to reference TEST or Test the
> identifier would need to be quoted (i.e. select * from "TEST").  All
> unquoted references are folded to lowercase.
>
> I haven't seen anything in the jdbc spec on how this should be handled.
>   Does anyone know what the spec says should be done in this area, or
> what other databases jdbc drivers do?
>
> thanks,
> --Barry
>
>
> Benoit Menendez wrote:
> > Since PostgreSQL folds all table and column names (to lowercase),
> > shouldn't the DatabaseMetaData calls do the same:
> >
> >
> >
> > for example:
> >
> >
> >
> > create table FOO ...
> >
> >
> >
> > DatabaseMetaData.getColumns(null, null, "FOO", "%") returns nothing
> > since FOO has been folded to lowercase
> >
> >
> >
> > The same goes with other DatabaseMetaData taking table or column names
> > (or patterns)...
> >
> >
> >
> > A fix would be to use the case insensitive like operator when querying
> > system tables...
> >
> >
> >
> > This applies to both ODBC and JDBC as far as I can tell...
> >
> >
> >
> > I am using the latest stable versions of 7.2 and corresponding ODBC and
> > JDBC drivers...
> >
> >
> >
> > Thanks for your comments on the subject...
> >
> >
> >
> >     Benoit
> >
>
>


pgsql-odbc by date:

Previous
From: Jean-Michel POURE
Date:
Subject: Re: [pgadmin-hackers] Multibyte ODBC
Next
From: Steve Wranovsky
Date:
Subject: PostgreSQL 7.2 RedHat ODBC RPM Problem