Thanks.  I have a similar patch and I ran derbyall last night but this morning when I check the result, the OS crashed.  So I'll have to run it again...

On 8/3/06, V.Narayanan (JIRA) <[email protected]> wrote:
     [ 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



Reply via email to