db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2287) JDBC meta data for precision and size is inconsistent and does not match JDBC specifications.
Date Thu, 08 Feb 2007 03:10:05 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471181

Dag H. Wanvik commented on DERBY-2287:

JDBC javadoc is vague (just says "precision"). Since it also
returns radix information for a column, it woudl seem reasonable
to interpret precision in terms of that.

I checked the SQL standard's precision concept:

ISO-IEC 9075-2-2003, Section 4.4.1 states that a numeric type
is decribed by, among other properties, a precision which can be either binary or decimal.

Section 6.1 for <exact numeric type> allows an implementation to
define radix for precision for INT, SMALLINT and BIGINT as either
binary or decimal. I assume for Derby this is binary.

NUMERIC and DECIMAL have decimal precision.

Section 4.4.2 says about approximate numeric values (REAL, FLOAT  and DOUBLE values 
are such, see 6.1): "An approximate numeric value has a precision.
The precision is a positive integer that specifies the number of significant 
binary digits in the mantissa."

This makes me believe the correct precision for REAL, FLOAT and DOUBLE
should be in terms of binary digits. We could ping Lance...

> JDBC meta data for precision and size is inconsistent and does not match JDBC specifications.
> ---------------------------------------------------------------------------------------------
>                 Key: DERBY-2287
>                 URL: https://issues.apache.org/jira/browse/DERBY-2287
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions:,,,,,,
>            Reporter: Daniel John Debrunner
>            Priority: Minor
> JDBC 4.0 has clarified the definitions of precision in the java doc for various methods
that return precision or size. The concept of precision and size seems to be the same, just
having different method or column names in various situations.
> Derby does not follow the JDBC 4 specifications consistently, for example -1 is sometimes
used to indicate not applicable, where JBDC 4 says NULL or 0. The precision of datetime columns
is defined to be non-zero but in some situations Derby returns 0.
> jdbcapi.DatabaseMetaDataTest can show some of these issues, the test of getColumns()
should compare the information in the COLUMN_SIZE column to the ResultSetMetaData getPrecision()
method for the same column. The comparisions are not made currently because the number of
mismatches is high. [this code is not yet committed].
> Existing application impact as Derby applications may have been relying on the old incorrect
& inconsistent behaviour.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message