[
https://issues.apache.org/jira/browse/DERBY-141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Myrna van Lunteren updated DERBY-141:
-------------------------------------
Urgency: Normal
Bug behavior facts: [Deviation from standard]
[10.5.2 Triage]
> Derby metadata doesn't agree with JDBC specification in some ways.
> ------------------------------------------------------------------
>
> Key: DERBY-141
> URL: https://issues.apache.org/jira/browse/DERBY-141
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Reporter: A B
>
> NOTE: This bug is different from the bug described in DERBY-137. DERBY-137
> states that the Derby metadata always returns JDBC 2.0 result sets even when
> JDBC 3.0 result sets are required. This bug states that the JDBC 2.0
> metadata returned by Derby doesn't comply with the JDBC 2.0 standard in
> certain (mostly pretty minor) ways.
> There are a series of slight errors in the JDBC 2.0 metadata that Derby
> returns from the DatabaseMetadata.java API. The following discrepancies were
> found in the org/apache/derby/impl/jdbc/metadata.properties file:
> 1) Four of the getBestRowIdentifer queries make an internal call to
> "getPrecision()" to retrieve the value for the DECIMAL_DIGITS column, but
> that's wrong. DECIMAL_DIGITS corresponds to scale, not to precision, and
> thus these queries should be calling "getScale", not "getPrecision".
> 2) The org/apache/derby/catalog/GetProcedureColumns class, which is a VTI
> used for implementing the getProcedureColumns() metadata method, returns the
> wrong value for the LENGTH when the column in question is a character type.
> LENGTH is specified as "length in _bytes_ of data", but this class
> incorrectly returns the length in _characters_ for character strings (because
> the class just calls "getMaximumWidth()", which returns the length in
> characters; that number should be multiplied by 2 since Java uses 2 bytes per
> char).
> 3) getPrimaryKeys returns an INTEGER for the KEY_SEQ column when it is
> specified in the JDBC API as a SHORT.
> 4) getTypeInfo returns some columns as INTEGER when they are specified as
> SHORT in the JDBC API. The columns in question here are: NULLABLE,
> SEARCHABLE, MINIMUM_SCALE, and MAXIMUM_SCALE.
> 5) getIndexInfo returns an INTEGER for the ORDINAL_POSITION column when it is
> specified in the JDBC API as a SHORT.
> 6) getVersionColumns returns some columns as INTEGER when they are specified
> as SHORT in the JDBC API. The columns in question here are: SCOPE,
> DATA_TYPE, DECIMAL_DIGITS, and PSEUDO_COLUMN. Note: this query doesn't
> return any result sets for Derby, so this is a pretty trivial issue, but
> strictly speaking, it is still incorrect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.