Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 93611 invoked from network); 23 May 2007 21:20:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 May 2007 21:20:39 -0000 Received: (qmail 87701 invoked by uid 500); 23 May 2007 21:20:43 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 87665 invoked by uid 500); 23 May 2007 21:20:43 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 87656 invoked by uid 99); 23 May 2007 21:20:43 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 May 2007 14:20:43 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 May 2007 14:20:36 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 8D079714058 for ; Wed, 23 May 2007 14:20:16 -0700 (PDT) Message-ID: <4187245.1179955216575.JavaMail.jira@brutus> Date: Wed, 23 May 2007 14:20:16 -0700 (PDT) From: "Bryan Pendleton (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-2459) Ordering on a CASE-expression casues a NullPointerException when using a UNION In-Reply-To: <540877.1174041669553.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-2459?page=3Dcom.atlassian= .jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498378 ]=20 Bryan Pendleton commented on DERBY-2459: ---------------------------------------- In the problem description, the CASE expression in the ORDER BY clause is identical to the CASE expression in each of the SELECT statements in the child table expressions of the UNION. The problem also occurs even if the CASE expression in the ORDER BY clause is unique: for example, replacing the ORDER BY clause in the description by order by CASE WHEN t2.value IS NOT NULL THEN t1.id ELSE t1.ref END still results in the NPE. > Ordering on a CASE-expression casues a NullPointerException when using a = UNION > -------------------------------------------------------------------------= ----- > > Key: DERBY-2459 > URL: https://issues.apache.org/jira/browse/DERBY-2459 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.1.3.1, 10.1.3.2, 10.2.1.6, 10.2.2.0, 10.2.2.1, 10= .3.0.0 > Environment: Java 1.5.0_06-b05 on Linux Ubuntu 5.10. Derby versio= n 10.2.2 > Reporter: Lars Gr=C3=A5mark > Assigned To: Bryan Pendleton > > When an order by clause involves a CASE-expression as seen below, a NullP= ointerException is thrown. The error only occurs when two select statements= are combined in a union (or union all). > select t1.id, CASE WHEN t2.value IS NOT NULL THEN t2.value ELSE t1.value = END > from A1 t1 > left outer join B1 t2 ON t2.id =3D t1.ref > union all > select t1.id, CASE WHEN t2.value IS NOT NULL THEN t2.value ELSE t1.value = END > from A2 t1 > left outer join B2 t2 ON t2.id =3D t1.ref > order by CASE WHEN t2.value IS NOT NULL THEN t2.value ELSE t1.value END > --Use the following statement to reproduce the problem: > create table A1 > ( > id char(1) > ,value int > ,ref char(1) > ); > create table A2 > ( > id char(1) > ,value int > ,ref char(1) > ); > create table B1 > ( > id char(1) > ,value int > ); > create table B2 > ( > id char(1) > ,value int > ); > insert into A1 (id, value, ref) values ('a', 12, 'e'); > insert into A1 (id, value, ref) values ('b', 1, null); > insert into A2 (id, value, ref) values ('c', 3, 'g'); > insert into A2 (id, value, ref) values ('d', 8, null); > insert into B1 (id, value) values ('e', 4); > insert into B1 (id, value) values ('f', 2); > insert into B2 (id, value) values ('g', 5); --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.