Class SubQueryRemoveRule

All Implemented Interfaces:

@Enclosing public class SubQueryRemoveRule extends RelRule<SubQueryRemoveRule.Config> implements TransformationRule
Transform that converts IN, EXISTS and scalar sub-queries into joins.

Sub-queries are represented by RexSubQuery expressions.

A sub-query may or may not be correlated. If a sub-query is correlated, the wrapped RelNode will contain a RexCorrelVariable before the rewrite, and the product of the rewrite will be a Correlate. The Correlate can be removed using RelDecorrelator.

See Also: