AssertFailure: ByteCode Conditional then/else stack mismatch
------------------------------------------------------------
Key: DERBY-2230
URL: https://issues.apache.org/jira/browse/DERBY-2230
Project: Derby
Issue Type: Bug
Components: SQL
Affects Versions: 10.2.2.0
Environment: The AssertFailure error occurs only with the debug
version of derby.jar.
Java 1.5
Reporter: Christian d'Heureuse
The following statements produce an AssertFailure exception:
CREATE TABLE table1 (
s VARCHAR(10));
SELECT 1
FROM table1 a
INNER JOIN table1 b ON
a.s =
CASE
WHEN 1=1 THEN '0'
ELSE SUBSTR(b.s,1,1) END;
Stack trace:
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED ByteCode
Conditional then/else stack mismatch: then:
Lorg/apache/derby/iapi/types/StringDataValue; else:
Lorg/apache/derby/iapi/types/ConcatableDataValue;
at
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:149)
at
org.apache.derby.impl.services.bytecode.Conditional.end(Conditional.java:216)
at
org.apache.derby.impl.services.bytecode.BCMethod.completeConditional(BCMethod.java:1063)
at
org.apache.derby.impl.sql.compile.ConditionalNode.generateExpression(ConditionalNode.java:468)
at
org.apache.derby.impl.sql.compile.BinaryRelationalOperatorNode.generateQualMethod(BinaryRelationalOperatorNode.java:708)
at
org.apache.derby.impl.sql.compile.PredicateList.generateSingleQualifierCode(PredicateList.java:2723)
at
org.apache.derby.impl.sql.compile.PredicateList.generateQualifiers(PredicateList.java:2905)
at
org.apache.derby.impl.sql.compile.HashJoinStrategy.getScanArgs(HashJoinStrategy.java:348)
at
org.apache.derby.impl.sql.compile.FromBaseTable.getScanArguments(FromBaseTable.java:3368)
at
org.apache.derby.impl.sql.compile.FromBaseTable.generateResultSet(FromBaseTable.java:3059)
at
org.apache.derby.impl.sql.compile.FromBaseTable.generate(FromBaseTable.java:2986)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(ProjectRestrictNode.java:1352)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(ProjectRestrictNode.java:1303)
at
org.apache.derby.impl.sql.compile.JoinNode.getJoinArguments(JoinNode.java:1580)
at
org.apache.derby.impl.sql.compile.JoinNode.generateCore(JoinNode.java:1556)
at
org.apache.derby.impl.sql.compile.JoinNode.generate(JoinNode.java:1480)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(ProjectRestrictNode.java:1441)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(ProjectRestrictNode.java:1303)
at
org.apache.derby.impl.sql.compile.ScrollInsensitiveResultSetNode.generate(ScrollInsensitiveResultSetNode.java:110)
at
org.apache.derby.impl.sql.compile.CursorNode.generate(CursorNode.java:583)
at
org.apache.derby.impl.sql.compile.StatementNode.generate(StatementNode.java:233)
at
org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:478)
at
org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:119)
at
org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:745)
at
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:568)
at
org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:517)
at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
at org.apache.derby.tools.ij.main(Unknown Source)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira