[ 
http://issues.apache.org/jira/browse/DERBY-353?page=comments#action_12362891 ] 

Kathey Marsden commented on DERBY-353:
--------------------------------------

In looking at the master for autogeneratedJdbc30, I noticed that although the 
master was updated with this fix to reflect  the new results,  the  test output 
description of the results does not  match the new results. e.g.

NEW OUTPUT:
Test 3 - insert multiple rows into a table with autogenerated key and request 
generated keys resultset
 We will get a row with NULL value because this insert sql inserted more than 
one row and
 there was no prior one-row insert into a table with autogenerated key
         1
         -
        {3} 


OLD OUTPUT:
Test 3 - insert multiple rows into a table with autogenerated key and request 
generated keys resultset
 We will get a row with NULL value because this insert sql inserted more than 
one row and
 there was no prior one-row insert into a table with autogenerated key
         1
         -
        {null}


> It is desirable to have IDENTITY_VAL_LOCAL() function return last recent user 
> specified value or system generated value for BY DEFAULT identity columns.
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-353
>          URL: http://issues.apache.org/jira/browse/DERBY-353
>      Project: Derby
>         Type: Bug
>   Components: SQL
>     Versions: 10.1.1.0
>  Environment: Generic
>     Reporter: Satheesh Bandaram
>     Assignee: V.Narayanan
>  Attachments: patch353.diff
>
> Derby was recently enhanced to support BY DEFAULT identity column. While the 
> behavior of this feature is not documented yet, I think, it is desirable for 
> IDENTITY_VAL_LOCAL() function, that is used to retrieve last single statement 
> insert value for identity column, to return user specified value for the 
> default column.
> For GENERATED ALWAYS identity columns, this issue doesn't apply, since users 
> can't provide a value. But for GENERATED BY DEFAULT identity columns, users 
> can optionally specify a value. IDENTITY_VAL_LOCAL() function should return 
> this value. Derby currently doesn't support this behavior.
> ij> create table tauto ( i int generated by default as identity, j int, k 
> int);
> 0 rows inserted/updated/deleted
> ij> insert into tauto (j,k) values (1,1);
> 1 row inserted/updated/deleted
> ij> values identity_val_local();
> 1
> -------------------------------
> 1
> 1 row selected
> ij> insert into tauto (j,k) values (1,1);
> 1 row inserted/updated/deleted
> ij> values identity_val_local();
> 1
> -------------------------------
> 2
> 1 row selected
> ij> insert into tauto values (5,1,1);
> 1 row inserted/updated/deleted
> ij> values identity_val_local();
> 1
> -------------------------------
> 2                                                                     
> <<<<<<<<<<<<<<============= This needs be '5'
> 1 row selected
> ij> select * from tauto;
> I          |J          |K
> -----------------------------------
> 1          |1          |1
> 2          |1          |1
> 5          |1          |1
> 3 rows selected

-- 
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