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 "Kathey Marsden (JIRA)" <de...@db.apache.org> on 2006/01/16 23:09:21 UTC

[jira] Commented: (DERBY-353) It is desirable to have IDENTITY_VAL_LOCAL() function return last recent user specified value or system generated value for BY DEFAULT identity columns.

    [ 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