db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3538) NullPointerException during execution for query with LEFT OUTER JOIN whose inner table selects all constants.
Date Mon, 17 Mar 2008 17:22:24 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kathey Marsden updated DERBY-3538:
----------------------------------

    Attachment: derby-3538_diff.txt

Here is the patch with a test added.  I ran suites.All and derbyall with Army's patch and
all passed.  Thomas if you have not seen any issues with the patch I would like to commit
and start backporting  back to 10.4,3,2 &1.


> NullPointerException during execution for query with LEFT OUTER JOIN whose inner table
selects all constants.
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3538
>                 URL: https://issues.apache.org/jira/browse/DERBY-3538
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1, 10.2.1.6, 10.2.2.0,
10.3.1.4, 10.3.2.1
>            Reporter: A B
>            Priority: Minor
>         Attachments: d3538_notTested.diff, derby-3538_diff.txt
>
>
> For a query having a LEFT OUTER JOIN such that the right, or "inner", table is a SELECT
subquery whose result column list consists entirely of constants, Derby may throw an execution-time
NPE while trying to apply the join predicate.  I say "may" because it depends on which join
strategy the optimizer chooses.
> Using optimizer overrides I was able to reproduce this problem against trunk with the
following (admittedly nonsense) query:
>   create table t1 (i int, j int);
>   insert into t1 values (-1, -2), (-2, -4), (-3, -9);
>   select * from
>     t1 left outer join
>     (select -1 a, 1 b from t1) x0 --DERBY-PROPERTIES joinStrategy=NESTEDLOOP
>    on x0.a = t1.i;
> I          |J          |A          |B
> -----------------------------------------------
> -1         |-2         |-1         |1
> -1         |-2         |-1         |1
> -1         |-2         |-1         |1
> ERROR 38000: The exception 'java.lang.NullPointerException' was thrown while evaluating
an expression.
> ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
> Running the same query also failed with the same NPE on 10.0.2.1, even though optimizer
overrides don't exist there.  So I'm marking all known releases to be affected by this issue.
> Note: while this particular query may not make much sense, I have seen a user with a
very large, auto-generated query that, when executed, fails due to this problem.  So it is
worth investigating...

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


Mime
View raw message