DatabaseMetaData use of quoted/unquoted identifiers is inconsistent [JDBC231] #280
Labels
affect-version: Jaybird 2.1.6
affect-version: Jaybird 2.2
affect-version: Jaybird 2.2.1
affect-version: Jaybird 2.2.2
affect-version: Jaybird 2.2.3
affect-version: Jaybird 2.2.4
affect-version: Jaybird 2.2.5
component: jdbc driver
fix-version: Jaybird 3.0.0
priority: major
resolution: fixed
type: improvement
Submitted by: @mrotteveel
Relate to JDBC331
The various metadata methods treat quoted and unquoted identifiers in an inconsistent way. For example getTables() and getColumns() will accept (and even require) quoted identifiers and will uppercase unquoted patterns. On the other hand getIndexInfo() only accepts unquoted identifiers and first tries the table name as is, and then tries it uppercase; using an actual quoted identifier (as accepted by getTables() and getColumns()) will not be accepted.
There is more inconsistent or questionable behaviour surrounding quoted and unquoted identifiers that needs to be investigated and made consistent; for example: should metadata methods return mixed case identifiers quoted or not (and what about identifiers that are equal to reserved (key)words), should mixed case identifiers actually be quoted when passed to the metadata method etc (getTables() specifies that the pattern should conform to the way it is stored in the database: quoted identifiers are stored mixed case without quotes, unquoted identifiers are stored uppercase).
Commits: 211a0be
The text was updated successfully, but these errors were encountered: