You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "V.Narayanan (JIRA)" <de...@db.apache.org> on 2006/08/03 18:06:15 UTC
[jira] Updated: (DERBY-1554) IDENTITY_VAL_LOCAL() returned value is
modified incorrectly by a multi-row INSERT statement.
[ http://issues.apache.org/jira/browse/DERBY-1554?page=all ]
V.Narayanan updated DERBY-1554:
-------------------------------
Attachment: DERBY-1554.diff
DERBY-1554.stat
Hi,
If we could avoid calling the setIdentity() function in the GenericLanguageContext class when we have an multi-row insert the above bug would be fixed. I tried the same in the above patch with a single line fix and it seemed to work.
I was going throught the earlier patch I submitted for 353 when I thought this small fix might resolve this issue. Pls do tell me if you see any problems with the above fix or if u see any case I might have missed.
Attaching relevant diff and stat files. I tested this patch only using the test case with this issue. I also tested test cases for 353 and 439.
PLEASE NOTE THAT I HAVE NOT RUN DERBYALL on this patch.
thanx
Narayanan
> IDENTITY_VAL_LOCAL() returned value is modified incorrectly by a multi-row INSERT statement.
> --------------------------------------------------------------------------------------------
>
> Key: DERBY-1554
> URL: http://issues.apache.org/jira/browse/DERBY-1554
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.2.0.0
> Reporter: Daniel John Debrunner
> Assigned To: Yip Ng
> Fix For: 10.2.0.0
>
> Attachments: DERBY-1554.diff, DERBY-1554.stat
>
>
> Changes made in DERBY-353 break the documented behaviour of IDENTITY_VAL_LOCAL(). Now the returned value is modified when a multi-row insert is performed.
> IDENTITY_VAL_LOCAL() should not be updated when this occurs.
> For this script the last value returned should be 2 (as in 10.1) but in 10.2 is 4
> create table ta (a int, b int generated always as identity);
> insert into ta(a) values 100;
> values IDENTITY_VAL_LOCAL();
> insert into ta(a) values 200;
> values IDENTITY_VAL_LOCAL();
> insert into ta(a) values 300,400;
> values IDENTITY_VAL_LOCAL();
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira