[ http://issues.apache.org/jira/browse/DERBY-353?page=comments#action_12425528 ] Kathey Marsden commented on DERBY-353: --------------------------------------
I received a request from a user to put this issue in 10.1. I think though that this issue is an improvement and not a straight bug fix so wanted to mention that in case anyone has concerns. I would like to do the following: 1) Change this issue to improvement. 2) File a doc issue to change the IDENTIY_VAL_LOCAL doc to reflect the change. http://db.apache.org/derby/docs/10.1/ref/rrefidentityvallocal.html I think we just need to remove " The assigned value is an identity value generated by Derby. " since it now can be the value inserted by the user. 3) Wait until DERBY-1554 is fixed. 4) Port both DERBY-353 and DERBY-1554 to 10.1. Please let me know if anyone has any concerns. I tried and tried to think of a user scenario that might be reliant on the old behavior and couldn't come up with one. Kathey > 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 > Issue Type: Bug > Components: SQL > Affects Versions: 10.1.1.0 > Environment: Generic > Reporter: Satheesh Bandaram > Assigned To: V.Narayanan > Fix For: 10.2.0.0 > > 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
