db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3138) Optimizer error when vtis are invoked with correlated references to outer query blocks
Date Mon, 22 Oct 2007 17:37:50 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rick Hillegas updated DERBY-3138:
---------------------------------

    Attachment: derby-3138-fix-aa.diff

Attaching a fix for this bug, derby-31380-fix-aa.diff. Touches the following files:

M      java/engine/org/apache/derby/impl/sql/compile/MethodCallNode.java

This is the fix. The wrong overload of accept() was being called during preprocessing. When
submission 555032 moved getCorrelationTables() out of NewInvocationNode into its superclass,
MethodCallNode, the call to accept() should have been adjusted from super.accept() to just
accept().

M      java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java

Regression test case for this bug.


> Optimizer error when vtis are invoked with correlated references to outer query blocks
> --------------------------------------------------------------------------------------
>
>                 Key: DERBY-3138
>                 URL: https://issues.apache.org/jira/browse/DERBY-3138
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.4.0.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: derby-3138-fix-aa.diff
>
>
> The following query works fine in 10.3, but raises an optimizer error in the mainline:
> select s.schemaname, t.tableName
> from sys.sysschemas s, sys.systables t
> where t.schemaid=s.schemaid
> and exists
> (
>   select vti.*
>   from table( syscs_diag.space_table( s.schemaname, t.tableName ) ) as vti
>   where vti.numfreepages > -1
> )
> ;
> In the mainline, it raises the following error:
> ERROR 42Y69: No valid execution plan was found for this statement. This may have one
of two causes: either you specified a hash join strategy when hash join is not allowed (no
optimizable equijoin) or you are attempting to join two external virtual tables, each of which
references the other, and so the statement cannot be evaluated.  

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


Mime
View raw message