db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4420) NullPointerException with INSERT INTO ... from EXCEPT/INTERSECT
Date Thu, 29 Oct 2009 15:23:59 GMT

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

Knut Anders Hatlen updated DERBY-4420:
--------------------------------------

    Attachment: d4420-1a.stat
                d4420-1a.diff

The attached patch copies ResultSetNode.setTableConstructorTypes() to RowResultSetNode and
makes the method in RSN a no-op. According to the comments in RSN, the code is only supposed
to be executed if the node is a RowResultSetNode, so it sounds like a better place for the
code. A test case is also added in InsertTest.

Now the insert statements that take all the column values from the select statement work as
expected. The ones that only insert into a subset of the columns and take the rest of the
values from the column defaults, fail with the "column position out of range" message mentioned
in the previous comment. I'm assuming this is a different bug, and I intend to file a separate
issue if the proposed fix is committed.

All the regression tests ran cleanly.

> NullPointerException with INSERT INTO ... from EXCEPT/INTERSECT
> ---------------------------------------------------------------
>
>                 Key: DERBY-4420
>                 URL: https://issues.apache.org/jira/browse/DERBY-4420
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.1.1.0, 10.2.1.6, 10.3.1.4, 10.4.1.3, 10.5.1.1, 10.5.3.0, 10.6.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: d4420-1a.diff, d4420-1a.stat, npe.sql
>
>
> The sequence of statements below give a NullPointerException. The statements are very
similar to the ones in DERBY-4419, but this is a separate bug since the stack traces are different,
and this bug can be seen all the way back to 10.1.1.0, whereas DERBY-4419 was a regression
in 10.3. (On 10.0.2.1, a syntax error is raised instead of the NPE.)
> ij> create table t1(x int);
> 0 rows inserted/updated/deleted
> ij> insert into t1 values 1,2;
> 2 rows inserted/updated/deleted
> ij> create table t2(x int);
> 0 rows inserted/updated/deleted
> ij> insert into t2 values 2,3;
> 2 rows inserted/updated/deleted
> ij> create table t3(x int, y int generated always as identity);
> 0 rows inserted/updated/deleted
> ij> insert into t3(x) select * from t1 except select * from t2;
> ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
> Same error if INTERSECT is used instead of EXCEPT.

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