Re: Case folding in DatabaseMetaData - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: Case folding in DatabaseMetaData
Date
Msg-id 3C61E442.4000908@xythos.com
Whole thread Raw
In response to Case folding in DatabaseMetaData  (Benoit Menendez <benoitm@pacbell.net>)
Responses CLOB data type
List pgsql-jdbc
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-jdbc by date:

Previous
From: Anders Bengtsson
Date:
Subject: Re: Multibyte or not?
Next
From: Benoit Menendez
Date:
Subject: Re: Case folding in DatabaseMetaData