db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1574) NullPointerException in UPDATE with COALESCE and subquery
Date Fri, 28 Jul 2006 21:42:15 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1574?page=all ]

Dag H. Wanvik updated DERBY-1574:
---------------------------------

    Attachment: derby1574-2.diff
                derby1574-2.stat

Thanks, Manish!
So I tried to put the preprocess forwarding into CoalesceFunctionNode,
and that works too. It also looks more in line with the
present design, so I have proceeded with that solution.

This patch 
- adds a preprocess method to CoalesceFunctionNode to override the one
  in ValueNode, thus making sure the arguments get handled.
- adds a printSubNodes method to CoalesceFunctionNode (was missing
  too, I discovered, when I was trying to look at the parse tree after
  binding).
- adds a new test case to coalesceTests.java and an updated master

I have run derbyall without errors and also run the modified test to verify that 
it exposes the problem in absence of the fix. The patch is ready for review.

> NullPointerException in UPDATE with COALESCE and subquery
> ---------------------------------------------------------
>
>                 Key: DERBY-1574
>                 URL: http://issues.apache.org/jira/browse/DERBY-1574
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.0.2.0, 10.0.2.1, 10.0.2.2, 10.1.1.0, 10.2.0.0, 10.1.2.1, 10.1.3.0,
10.1.4.0, 10.1.3.1, 10.1.3.2
>         Environment: Java 1.5.0_06
>            Reporter: Christian d'Heureuse
>         Assigned To: Dag H. Wanvik
>            Priority: Minor
>         Attachments: derby1574-2.diff, derby1574-2.stat, derby1574.diff, predicatePushdown.diff
>
>
> The following statements generate a NullPointerException:
> CREATE TABLE t1 (i INTEGER);
> CREATE TABLE t2 (i INTEGER);
> UPDATE t1
>    SET i = COALESCE(
>       (SELECT i FROM t2 WHERE t2.i=t1.i),
>       0);
> Any further SQL statements generate an internal error in RawStore, e.g.:
> SELECT * FROM t1;

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

        

Mime
View raw message