use of org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule in project asterixdb by apache.
the class PigletRewriteRuleset method buildPhysicalRewritesTopLevelRuleCollection.
public static final List<IAlgebraicRewriteRule> buildPhysicalRewritesTopLevelRuleCollection() {
List<IAlgebraicRewriteRule> physicalPlanRewrites = new LinkedList<IAlgebraicRewriteRule>();
physicalPlanRewrites.add(new CopyLimitDownRule());
return physicalPlanRewrites;
}
use of org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule in project asterixdb by apache.
the class PigletRewriteRuleset method buildOpPushDownRuleCollection.
public static final List<IAlgebraicRewriteRule> buildOpPushDownRuleCollection() {
List<IAlgebraicRewriteRule> opPushDown = new LinkedList<IAlgebraicRewriteRule>();
opPushDown.add(new PushProjectDownRule());
opPushDown.add(new PushSelectDownRule());
return opPushDown;
}
use of org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule in project asterixdb by apache.
the class PigletRewriteRuleset method buildJoinInferenceRuleCollection.
public static final List<IAlgebraicRewriteRule> buildJoinInferenceRuleCollection() {
List<IAlgebraicRewriteRule> joinInference = new LinkedList<IAlgebraicRewriteRule>();
joinInference.add(new InlineVariablesRule());
joinInference.add(new ComplexJoinInferenceRule());
return joinInference;
}
use of org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule in project asterixdb by apache.
the class PigletRewriteRuleset method buildDataExchangeRuleCollection.
public static final List<IAlgebraicRewriteRule> buildDataExchangeRuleCollection() {
List<IAlgebraicRewriteRule> dataExchange = new LinkedList<IAlgebraicRewriteRule>();
dataExchange.add(new SetExecutionModeRule());
return dataExchange;
}
use of org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule in project asterixdb by apache.
the class PigletRewriteRuleset method buildNormalizationRuleCollection.
public static final List<IAlgebraicRewriteRule> buildNormalizationRuleCollection() {
List<IAlgebraicRewriteRule> normalization = new LinkedList<IAlgebraicRewriteRule>();
normalization.add(new EliminateSubplanRule());
// TODO: This rule is incorrect and has been removed. Its replacement in
// Asterix (PushAggFuncIntoStandaloneAggregateRule)
// is language-specific.
// normalization.add(new IntroduceGroupByForStandaloneAggregRule());
normalization.add(new BreakSelectIntoConjunctsRule());
normalization.add(new PushSelectIntoJoinRule());
normalization.add(new ExtractGbyExpressionsRule());
return normalization;
}
Aggregations