Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
10.0.2.1, 10.1.1.0, 10.2.2.0, 10.4.1.3, 10.5.3.0, 10.6.1.0, 10.7.1.1
-
None
-
Normal
-
Repro attached
Description
Compilation of this statement fails with a NullPointerException:
insert into t select x from (select ? from t) s
It should fail, but not with a NullPointerException. The expected error is:
ERROR 42X34: There is a ? parameter in the select list. This is not allowed.
I found this issue when testing the fix for DERBY-4671. It is not the same issue, since DERBY-4671 was a regression in 10.6.1, and this issue has been there for a long time (I've only tested back to 10.2.2.0, but it may have existed even before that).
java.lang.NullPointerException
at org.apache.derby.impl.sql.compile.BaseTypeCompiler.numberStorable(BaseTypeCompiler.java:316)
at org.apache.derby.impl.sql.compile.NumericTypeCompiler.storable(NumericTypeCompiler.java:329)
at org.apache.derby.impl.sql.compile.ResultColumn.checkStorableExpression(ResultColumn.java:887)
at org.apache.derby.impl.sql.compile.ResultColumn.checkStorableExpression(ResultColumn.java:879)
at org.apache.derby.impl.sql.compile.ResultColumnList.checkStorableExpressions(ResultColumnList.java:953)
at org.apache.derby.impl.sql.compile.InsertNode.bindStatement(InsertNode.java:456)
at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:324)
at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:90)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:828)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(EmbedPreparedStatement.java:130)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(EmbedPreparedStatement20.java:82)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(EmbedPreparedStatement30.java:63)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(EmbedPreparedStatement40.java:40)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Driver40.java:105)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:1607)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:1435)
Attachments
Attachments
Issue Links
- relates to
-
DERBY-4671 Embedded driver does not work with jbossCache
- Closed