Re: Case folding in DatabaseMetaData

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: Case folding in DatabaseMetaData
Дата
Msg-id 3C61E442.4000908@xythos.com
обсуждение исходный текст
Ответ на Case folding in DatabaseMetaData  (Benoit Menendez <benoitm@pacbell.net>)
Ответы CLOB data type  (Robinson <netviews@yahoo.com>)
Список 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 по дате отправления:

Предыдущее
От: Anders Bengtsson
Дата:
Сообщение: Re: Multibyte or not?
Следующее
От: Benoit Menendez
Дата:
Сообщение: Re: Case folding in DatabaseMetaData