[ 
https://issues.apache.org/jira/browse/DERBY-4442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12780619#action_12780619
 ] 

Knut Anders Hatlen commented on DERBY-4442:
-------------------------------------------

The patch does break some statements that used to work, for instance this:

ij> create table t2(x int generated by default as identity);
0 rows inserted/updated/deleted
ij> insert into t2 values 1 union values default;
ERROR XJ001: Java exception: ': java.lang.NullPointerException'.

However, I don't think this statement should have been accepted in the first 
place. VALUES DEFAULT is not accepted in a subquery unless it's part of a 
UNION, it seems:

ij> insert into t2 select * from (values default) v;
ERROR 42Y85: The DEFAULT keyword is only allowed in a VALUES clause when the 
VALUES clause appears within an INSERT statement.

> Evaluation of default value and identity in an INSERT result set evaluated 
> too early.
> -------------------------------------------------------------------------------------
>
>                 Key: DERBY-4442
>                 URL: https://issues.apache.org/jira/browse/DERBY-4442
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>            Reporter: Dag H. Wanvik
>         Attachments: always_prn.diff, insert.diff
>
>
> In contrast to generated column, which are evaluated when the next row from 
> the result set to be inserted, currently default values and identity columns 
> are generated "early", that is as part of avaluating the subquery (SELECT or 
> VALUES as the case may be). 
> This does not currently cause a user visible bug in Derby, but it lies behind 
> DERBY-3 and the effect Bryan observed in DERBY-4.
> Additionally, "early" computation has given rise to much special handling and 
> ensuing bugs, cf. DERBY-1644, DERBY-4413, DERBY-4419, DERBY-4425 and others.
> DERBY-4397 requires this fix for correct behaviour with INSERT.
> See also
> https://issues.apache.org/jira/browse/DERBY-4413?focusedCommentId=12769532&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12769532

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to