On 4/13/2011 8:20 PM, Jayaram Subramanian wrote:
Hi Knut,
Sorry for the delay.. It was hectic for me for the past 2 months..
When i placed thread.dumpstack and ran the lang.__suite, the log shows
a lot of references to isEquivalent method.. Just attaching one of
the example. Could you please guide me how to proceed from here
With Regards
Jayaram
java.lang.Throwable
at java.lang.Thread.dumpStack(Thread.java:417)
at
org.apache.derby.impl.sql.compile.BaseColumnNode.isEquivalent(BaseColumnNode.java:180)
at
org.apache.derby.impl.sql.compile.SubstituteExpressionVisitor.visit(SubstituteExpressionVisitor.java:62)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:718)
at
org.apache.derby.impl.sql.compile.ResultColumn.acceptChildren(ResultColumn.java:1550)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.QueryTreeNodeVector.acceptChildren(QueryTreeNodeVector.java:141)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.ResultSetNode.acceptChildren(ResultSetNode.java:1611)
at
org.apache.derby.impl.sql.compile.FromBaseTable.acceptChildren(FromBaseTable.java:4621)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.SingleChildResultSetNode.acceptChildren(SingleChildResultSetNode.java:611)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.acceptChildren(ProjectRestrictNode.java:1843)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.SingleChildResultSetNode.acceptChildren(SingleChildResultSetNode.java:611)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.acceptChildren(ProjectRestrictNode.java:1843)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.SingleChildResultSetNode.acceptChildren(SingleChildResultSetNode.java:611)
at
org.apache.derby.impl.sql.compile.ProjectRestrictNode.acceptChildren(ProjectRestrictNode.java:1843)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.SubqueryNode.acceptChildren(SubqueryNode.java:2300)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.UnaryOperatorNode.acceptChildren(UnaryOperatorNode.java:759)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.BinaryOperatorNode.acceptChildren(BinaryOperatorNode.java:855)
at
org.apache.derby.impl.sql.compile.QueryTreeNode.accept(QueryTreeNode.java:721)
at
org.apache.derby.impl.sql.compile.GroupByNode.addNewColumnsForAggregation(GroupByNode.java:566)
at
org.apache.derby.impl.sql.compile.GroupByNode.addAggregates(GroupByNode.java:245)
at
org.apache.derby.impl.sql.compile.GroupByNode.init(GroupByNode.java:184)
at
org.apache.derby.iapi.sql.compile.NodeFactory.getNode(NodeFactory.java:273)
at
org.apache.derby.impl.sql.compile.SelectNode.genProjectRestrict(SelectNode.java:1483)
at
org.apache.derby.impl.sql.compile.SelectNode.modifyAccessPaths(SelectNode.java:2123)
at
org.apache.derby.impl.sql.compile.SingleChildResultSetNode.modifyAccessPaths(SingleChildResultSetNode.java:439)
at
org.apache.derby.impl.sql.compile.SubqueryNode.modifyAccessPaths(SubqueryNode.java:1873)
at
org.apache.derby.impl.sql.compile.SubqueryList.modifyAccessPaths(SubqueryList.java:116)
at
org.apache.derby.impl.sql.compile.SelectNode.modifyAccessPaths(SelectNode.java:2051)
at
org.apache.derby.impl.sql.compile.SingleChildResultSetNode.modifyAccessPaths(SingleChildResultSetNode.java:439)
at
org.apache.derby.impl.sql.compile.SubqueryNode.modifyAccessPaths(SubqueryNode.java:1873)
at
org.apache.derby.impl.sql.compile.SubqueryList.modifyAccessPaths(SubqueryList.java:116)
at
org.apache.derby.impl.sql.compile.SelectNode.modifyAccessPaths(SelectNode.java:2051)
at
org.apache.derby.impl.sql.compile.DMLStatementNode.optimizeStatement(DMLStatementNode.java:317)
at
org.apache.derby.impl.sql.compile.CursorNode.optimizeStatement(CursorNode.java:587)
Do any of the the full stack traces have a reference to the test
compiling the statement. I think they should for the embedded tests.
e.g, you will see something in the thread dump like:
at org.apache.derbyTesting.functionTests.tests.lang.<Name of
Test>.<fixture> (Name of Test: line number)
e.g.
at
org.apache.derbyTesting.functionTests.tests.lang.NullsTest.testInsert(NullsTest.java:206)
Then you can look at that test file and that line number and it will
show us which query is giving the problem.
If there are thread dumps like that then you don't need to throw the
exception as you mentioned in later to find the query that exercises
this code.
Thanks
Kathey