[ http://issues.apache.org/jira/browse/DERBY-1554?page=all ]
Yip Ng updated DERBY-1554:
--------------------------
Attachment: derby1554trunkstat01.txt
derby1554trunkdiff01.txt
Attaching my initial patch - derby1554trunkdiff01.txt for DERBY-1554. This
patch only contains the fix. I ran derbyall and there are some diffs but they
are expected. Will go through the diffs to see if patch is ok and submit a
followup patch for fixing the master output with additional testcases.
The patch is now checking for RowResultSet type for user supplied value for
identity column. If the source result set is not of that type, Derby won't
update the identityVal.
> 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,
> derby1554trunkdiff01.txt, derby1554trunkstat01.txt
>
>
> 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