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] [Comment Edited] (DERBY-6840) DatabaseMetaData.getBestRowIdentifier/DECIMAL_DIGITS' type is Integer
Date Thu, 05 Nov 2015 06:52: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 edited comment on DERBY-6840 at 11/5/15 6:52 AM:
----------------------------------------------------------

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

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..
 # 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
{code}
resultSet.getObject("DECIMAL_DIGITS", Short.class);
(Short) resultSet.getObject("DECIMAL_DIGITS");
{code}


was (Author: jinahya):
In B.3 JDBC Types Mapped to Java Object Types, there is an explicit note saying
{quote}
The mapping of SMALLINT and TINYINT to Integer is maintained to preserve backwards compatibility.
{quote}

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..
 # 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
{code}
resultSet.getObject("DECIMAL_DIGITS", Short.class);
{code}

> 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: 10.12.1.1
>            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
(v6.3.4#6332)

Mime
View raw message