org.eigenbase.sql2rel
Interface SubqueryConverter

All Known Implementing Classes:
ScalarSubqueryConverter, SqlToRelConverter.NoOpSubqueryConverter

public interface SubqueryConverter

SubqueryConverter provides the interface for classes that convert subqueries into equivalent expressions.

Version:
$Id: //open/dev/farrago/src/org/eigenbase/sql2rel/SubqueryConverter.java#4 $
Author:
Zelaine Fong

Method Summary
 boolean canConvertSubquery()
           
 RexNode convertSubquery(SqlCall subquery, SqlToRelConverter parentConverter, boolean isExists, boolean isExplain)
          Converts the subquery to an equivalent expression.
 

Method Detail

canConvertSubquery

boolean canConvertSubquery()
Returns:
true if the subquery can be converted

convertSubquery

RexNode convertSubquery(SqlCall subquery,
                        SqlToRelConverter parentConverter,
                        boolean isExists,
                        boolean isExplain)
Converts the subquery to an equivalent expression.

Parameters:
subquery - the SqlNode tree corresponding to a subquery
parentConverter - sqlToRelConverter of the parent query
isExists - whether the subquery is part of an EXISTS expression
isExplain - whether the subquery is part of an EXPLAIN PLAN statement
Returns:
the equivalent expression or null if the subquery couldn't be converted