Re: BUG #3894: JDBC DatabaseMetaData.getTables is inconsistently case-sensitive with schema name

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: BUG #3894: JDBC DatabaseMetaData.getTables is inconsistently case-sensitive with schema name
Дата
Msg-id Pine.BSO.4.64.0801230344310.12286@leary.csoft.net
обсуждение исходный текст
Ответ на BUG #3894: JDBC DatabaseMetaData.getTables is inconsistently case-sensitive with schema name  ("Adam Hardy" <adam.hardy@cyberspaceroad.com>)
Ответы Re: BUG #3894: JDBC DatabaseMetaData.getTables is inconsistently case-sensitive with schema name  (Adam Hardy <adam.hardy@cyberspaceroad.com>)
Список pgsql-bugs
On Tue, 22 Jan 2008, Adam Hardy wrote:

>
> The following bug has been logged online:
>
> Bug reference:      3894
> Description:        JDBC DatabaseMetaData.getTables is inconsistently
> case-sensitive with schema name
> Details:
>
> create schema DEV;
>
> but then DatabaseMetaData.getTables(null, "DEV", "%", new String[]
> {"TABLE"}) returned an empty resultset.
>
> However giving it the schema name "dev" returns the full resultset.
>

This is by design.  While SQL provides case folding and quoting rules
those are not the same as the JDBC driver's rules.  In SQL an unquoted
identifier is case folded while quoted identifiers are not.  To provide
the most straightforward mapping for the JDBC driver, we require an exact
match because quoting in Java String objects isn't the same as SQL.  It
would be odd to say getTable(..., "\"Dev\"",...) to imply that you wanted
a case sensitive match.  Even odder would it be to do a search for a
schema with a quote in it's name using SQL identifier rules in Java code.

Kris Jurka

В списке pgsql-bugs по дате отправления:

Предыдущее
От: "Adam Hardy"
Дата:
Сообщение: BUG #3894: JDBC DatabaseMetaData.getTables is inconsistently case-sensitive with schema name
Следующее
От: Adam Hardy
Дата:
Сообщение: Re: BUG #3894: JDBC DatabaseMetaData.getTables is inconsistently case-sensitive with schema name