|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.relopt.RelOptRule net.sf.farrago.query.FarragoReduceValuesRule
public abstract class FarragoReduceValuesRule
Planner rule which folds projections and filters into an underlying ValuesRel
. Returns an EmptyRel
if all rows are filtered away.
For example,
select a - b from (values (1, 2), (3, 5), (7, 11)) as t (a,
b) where a + b > 4
becomes
select x from (values (-2), (-4))
Nested Class Summary | |
---|---|
private static class |
FarragoReduceValuesRule.MyRexShuttle
|
Field Summary | |
---|---|
static FarragoReduceValuesRule |
filterInstance
Singleton instance of this rule which applies to the pattern Filter(Values). |
static FarragoReduceValuesRule |
projectFilterInstance
Singleton instance of this rule which applies to the pattern Project(Filter(Values)). |
static FarragoReduceValuesRule |
projectInstance
Singleton instance of this rule which applies to the pattern Project(Values). |
private static Logger |
tracer
|
Fields inherited from class org.eigenbase.relopt.RelOptRule |
---|
ANY, description, operands |
Constructor Summary | |
---|---|
private |
FarragoReduceValuesRule(RelOptRuleOperand operand,
String desc)
Creates a new FarragoReduceExpressionsRule object. |
Method Summary | |
---|---|
protected void |
apply(RelOptRuleCall call,
ProjectRel project,
FilterRel filter,
ValuesRel values)
Does the work. |
Methods inherited from class org.eigenbase.relopt.RelOptRule |
---|
convert, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, mergeTraitsAndConvert, mergeTraitsAndConvert, onMatch, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final Logger tracer
public static final FarragoReduceValuesRule filterInstance
public static final FarragoReduceValuesRule projectInstance
public static final FarragoReduceValuesRule projectFilterInstance
Constructor Detail |
---|
private FarragoReduceValuesRule(RelOptRuleOperand operand, String desc)
operand
- class of rels to which this rule should applyMethod Detail |
---|
protected void apply(RelOptRuleCall call, ProjectRel project, FilterRel filter, ValuesRel values)
call
- Rule callproject
- Project, may be nullfilter
- Filter, may be nullvalues
- Values rel to be reduced
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |