Preparing "SELECT INTO table SELECT FROM (...)" may cause NullPointerException
and subsequent internal errors reported by RawStore module
-----------------------------------------------------------------------------------------------------------------------------------------
Key: DERBY-1528
URL: http://issues.apache.org/jira/browse/DERBY-1528
Project: Derby
Issue Type: Bug
Components: SQL
Affects Versions: 10.1.3.1
Reporter: Knut Anders Hatlen
When preparing a "INSERT INTO table SELECT FROM (...)" statement,
Derby in some cases throw a NullPointerException or an
AssertFailure. This happens when a '?' occurs in a VALUES statement in
the from list. If one tries to access the table after the
NullPointerException, this exception is thrown:
ERROR 40XT0: An internal error was identified by RawStore module.
Example:
ij> create table t (text varchar(20), len int);
0 rows inserted/updated/deleted
ij> prepare p as 'insert into t select x, length(x) from (values(?)) as v(x)';
ERROR XJ001: Java exception: ': java.lang.NullPointerException'.
ij> select * from t;
ERROR 40XT0: An internal error was identified by RawStore module.
Replacing '?' with 'CAST (? AS VARCHAR(20))' fixes the problem, but
there is enough information in the query to determine the type of the
parameter even without the cast.
--
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