[ 
https://issues.apache.org/jira/browse/DERBY-4504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797768#action_12797768
 ] 

Knut Anders Hatlen commented on DERBY-4504:
-------------------------------------------

If the repro is changed to a join with a USING clause instead of an ON clause, 
we get an assert failure at a different point in the code, but with the same 
message:

ij> select t.* from t join t using(x);
ERROR XJ001: Java exception: 'ASSERT FAILED allTableName (T) expected to be 
null: org.apache.derby.shared.common.sanity.AssertFailure'.
java.sql.SQLException: Java exception: 'ASSERT FAILED allTableName (T) expected 
to be null: org.apache.derby.shared.common.sanity.AssertFailure'.
.
.
.
Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED 
allTableName (T) expected to be null
        at 
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
        at 
org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
        at 
org.apache.derby.impl.sql.compile.JoinNode.getAllResultColumns(JoinNode.java:463)
        at 
org.apache.derby.impl.sql.compile.FromList.expandAll(FromList.java:481)
.
.
.

I think we could make both these asserts more liberal. They are detecting an 
error in the statement, but so does the non-debug code, only at a later stage. 
For example, it could additionally check whether both legs of the join have the 
same name, and only raise an assert error if the names differ.

> ASSERT FAILED allTableName (T) expected to be null
> --------------------------------------------------
>
>                 Key: DERBY-4504
>                 URL: https://issues.apache.org/jira/browse/DERBY-4504
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.5.3.0, 10.6.0.0
>            Reporter: Knut Anders Hatlen
>
> I see this assert failure in debug builds:
> ij> create table t(x int);
> 0 rows inserted/updated/deleted
> ij> select t.* from t join t on 1=1;
> ERROR XJ001: Java exception: 'ASSERT FAILED allTableName (T) expected to be 
> null: org.apache.derby.shared.common.sanity.AssertFailure'.

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

Reply via email to