db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jin Kwon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6840) DatabaseMetaData.getBestRowIdentifier/DECIMAL_DIGITS' type is Integer
Date Thu, 05 Nov 2015 06:24:27 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14991220#comment-14991220

Jin Kwon commented on DERBY-6840:

In B.3 JDBC Types Mapped to Java Object Types, there is an explicit note saying
The mapping of SMALLINT and TINYINT to Integer is maintained to preserve backwards compatibility.

And the B.3 is for local java type for those {{getXXX}} methods which applies when database
type is {{{SMALLINT}}} we can get it for {{{int}}} type.

Let's walk the path again.

# {{{DatabaseMetaData#getBestRowIdentifier/DECIMAL_DIGITS}}} should return a {{{short}}} value
which can't be {{{null}}}.
# You mentioned {{{SMALLINT}}}, B.2 which is for {{{setXXX}}}
# You mentioned {{{Integer}}}, B.3 which is for {{{getXXX}}} and for backward compatibility

The problem is that you presumed a backend physical column type, whatever it exists or not,
as {{{SMALLINT}}}.

I believe {{{getBestRowIdentifier/DECIMAL_DIGITS}}} should be available by
resultSet.getObject("DECIMAL_DIGITS", Short.class);

> DatabaseMetaData.getBestRowIdentifier/DECIMAL_DIGITS' type is Integer
> ---------------------------------------------------------------------
>                 Key: DERBY-6840
>                 URL: https://issues.apache.org/jira/browse/DERBY-6840
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions:
>            Reporter: Jin Kwon
>            Priority: Trivial
> The value of {{DECIMAL_DIGITS}} of {{DatabaseMetaData.getBestRowIdentifier}} is an {{java.lang.Integer}}
not {{java.lang.Short}}. 

This message was sent by Atlassian JIRA

View raw message