Description
Attempts to execute the following query will lead to an ASSERT failure with sane jars:
ij> select distinct * from table(syscs_diag.space_table('T1')) X order by 3;
ERROR XJ001: Java exception: 'ASSERT FAILED markOrderingDependent() not expected to be called for org.apache.derby.impl.sql.compile.FromVTI: org.apache.derby.shared.common.sanity.AssertFailure'.
Stack trace is:
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 ResultSetNode.markOrderingDependent(ResultSetNode.java:1881)
at SingleChildResultSetNode.markOrderingDependent(SingleChildResultSetNode.java:578)
at SingleChildResultSetNode.markOrderingDependent(SingleChildResultSetNode.java:578)
at SingleChildResultSetNode.markOrderingDependent(SingleChildResultSetNode.java:578)
at SelectNode.genProjectRestrict(SelectNode.java:1409)
at SelectNode.modifyAccessPaths(SelectNode.java:1816)
at SingleChildResultSetNode.modifyAccessPaths(SingleChildResultSetNode.java:439)
at DMLStatementNode.optimizeStatement(DMLStatementNode.java:307)
at CursorNode.optimizeStatement(CursorNode.java:515)
I was able to avoid this by adding an empty implementation of "markOrderingDependent" to the FromVTI class, so that's probably the fix that I will post (after looking a bit more closely at the code to see if this makes sense).
Attachments
Attachments
Issue Links
- relates to
-
DERBY-2351 ORDER BY with expression with distinct in the select list returns incorrect result
- Closed