net.sf.farrago.query
Class FarragoReentrantSubquery
java.lang.Object
net.sf.farrago.query.FarragoReentrantStmt
net.sf.farrago.query.FarragoReentrantStmtExecutor
net.sf.farrago.query.FarragoReentrantSubquery
public class FarragoReentrantSubquery
- extends FarragoReentrantStmtExecutor
Extends FarragoReentrantStmtExecutor
to handle subqueries. The
subquery will be evaluated to a constant.
If the subquery is part of an EXISTS expression, the constant returned is
either TRUE or FALSE depending on whether the subquery returned zero or at
least one row.
Otherwise, the subquery must be a scalar subquery.
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/query/FarragoReentrantSubquery.java#6 $
- Author:
- Zelaine Fong
Method Summary |
protected void |
executeImpl()
Supplies subclass-specific behavior. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
subq
private final SqlCall subq
parentConverter
private final SqlToRelConverter parentConverter
isExists
private final boolean isExists
isExplain
private final boolean isExplain
FarragoReentrantSubquery
FarragoReentrantSubquery(SqlCall subq,
SqlToRelConverter parentConverter,
boolean isExists,
boolean isExplain,
List<RexNode> results)
- Constructs a FarragoReentrantSubquery.
- Parameters:
subq
- the subquery to evaluateparentConverter
- sqlToRelConverter associated with the parent queryisExists
- whether the subquery is part of an EXISTS expressionisExplain
- whether the subquery is part of an EXPLAIN PLAN
statementresults
- the resulting evaluated expressions
executeImpl
protected void executeImpl()
throws Exception
- Description copied from class:
FarragoReentrantStmt
- Supplies subclass-specific behavior.
- Specified by:
executeImpl
in class FarragoReentrantStmt
- Throws:
Exception