[
https://issues.apache.org/jira/browse/DERBY-2386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12479347
]
Daniel John Debrunner commented on DERBY-2386:
----------------------------------------------
I think the change to BIGINT is more involved than the patch. Doesn't some
compile time code have to change to indicate at bind time that this is
returning a BIGINT?
This test can never be true:
if (ldiff > Long.MAX_VALUE || ldiff < Long.MIN_VALUE)
since ldiff was already a long it cannot be outside its own range.
FYI - the old check & code that was there:
if (ldiff > Integer.MAX_VALUE || ldiff < Integer.MIN_VALUE)
throw
StandardException.newException(SQLState.LANG_OUTSIDE_RANGE_FOR_DATATYPE,
"INTEGER");
resultHolder.setValue( (int) ldiff);
is not required, it could be simply
resultHolder.setValue(ldiff);
> timestampdiff function fails when using SQL_TSI_FRAC_SECOND for datepart
> parameter, except for very small intervals
> -------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2386
> URL: https://issues.apache.org/jira/browse/DERBY-2386
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.2.2.0
> Environment: SUSE Linux Enterprise Desktop 10
> Reporter: Don Smith
> Assigned To: Mayuresh Nirhali
> Fix For: 10.2.2.1, 10.2.3.0, 10.3.0.0
>
> Attachments: derby2386.diff
>
>
> Using the timestampdiff function produces and integer overflow except for
> very small intervals. Error message is:
> [Error Code: -1, SQL State: 22003] The resulting value is outside the range
> for the data type INTEGER.
> I inserted the following row into my test table:
> insert into datetest (ID,
> startdate,
> enddate) values (
> 5,
> '2006-11-20 04:20:00.0',
> '2006-11-20 04:20:00.2');
> This test row works:
> select {fn timestampdiff(SQL_TSI_FRAC_SECOND, startdate, enddate)} as diff
> from datetest where id = 5
> DIFF
> 200000000
> The value also looks too large, which could be exacerbating the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.