|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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 apply| Method 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 | ||||||||