Search in sources :

Example 1 with PushFieldAccessRule

use of org.apache.asterix.optimizer.rules.PushFieldAccessRule in project asterixdb by apache.

the class RuleCollections method buildLoadFieldsRuleCollection.

public static final List<IAlgebraicRewriteRule> buildLoadFieldsRuleCollection(ICcApplicationContext appCtx) {
    List<IAlgebraicRewriteRule> fieldLoads = new LinkedList<>();
    fieldLoads.add(new LoadRecordFieldsRule());
    fieldLoads.add(new PushFieldAccessRule());
    // fieldLoads.add(new ByNameToByHandleFieldAccessRule()); -- disabled
    fieldLoads.add(new ByNameToByIndexFieldAccessRule());
    fieldLoads.add(new RemoveRedundantVariablesRule());
    fieldLoads.add(new AsterixInlineVariablesRule());
    fieldLoads.add(new RemoveUnusedAssignAndAggregateRule());
    fieldLoads.add(new ConstantFoldingRule(appCtx));
    fieldLoads.add(new RemoveRedundantSelectRule());
    fieldLoads.add(new FeedScanCollectionToUnnest());
    fieldLoads.add(new NestedSubplanToJoinRule());
    fieldLoads.add(new InlineSubplanInputForNestedTupleSourceRule());
    fieldLoads.add(new RemoveLeftOuterUnnestForLeftOuterJoinRule());
    return fieldLoads;
}
Also used : ByNameToByIndexFieldAccessRule(org.apache.asterix.optimizer.rules.ByNameToByIndexFieldAccessRule) NestedSubplanToJoinRule(org.apache.hyracks.algebricks.rewriter.rules.subplan.NestedSubplanToJoinRule) AsterixInlineVariablesRule(org.apache.asterix.optimizer.rules.AsterixInlineVariablesRule) PushFieldAccessRule(org.apache.asterix.optimizer.rules.PushFieldAccessRule) FeedScanCollectionToUnnest(org.apache.asterix.optimizer.rules.FeedScanCollectionToUnnest) LinkedList(java.util.LinkedList) LoadRecordFieldsRule(org.apache.asterix.optimizer.rules.LoadRecordFieldsRule) ConstantFoldingRule(org.apache.asterix.optimizer.rules.ConstantFoldingRule) InlineSubplanInputForNestedTupleSourceRule(org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule) IAlgebraicRewriteRule(org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule) RemoveRedundantSelectRule(org.apache.asterix.optimizer.rules.RemoveRedundantSelectRule) RemoveLeftOuterUnnestForLeftOuterJoinRule(org.apache.asterix.optimizer.rules.RemoveLeftOuterUnnestForLeftOuterJoinRule) RemoveRedundantVariablesRule(org.apache.hyracks.algebricks.rewriter.rules.RemoveRedundantVariablesRule) RemoveUnusedAssignAndAggregateRule(org.apache.hyracks.algebricks.rewriter.rules.RemoveUnusedAssignAndAggregateRule)

Aggregations

LinkedList (java.util.LinkedList)1 AsterixInlineVariablesRule (org.apache.asterix.optimizer.rules.AsterixInlineVariablesRule)1 ByNameToByIndexFieldAccessRule (org.apache.asterix.optimizer.rules.ByNameToByIndexFieldAccessRule)1 ConstantFoldingRule (org.apache.asterix.optimizer.rules.ConstantFoldingRule)1 FeedScanCollectionToUnnest (org.apache.asterix.optimizer.rules.FeedScanCollectionToUnnest)1 LoadRecordFieldsRule (org.apache.asterix.optimizer.rules.LoadRecordFieldsRule)1 PushFieldAccessRule (org.apache.asterix.optimizer.rules.PushFieldAccessRule)1 RemoveLeftOuterUnnestForLeftOuterJoinRule (org.apache.asterix.optimizer.rules.RemoveLeftOuterUnnestForLeftOuterJoinRule)1 RemoveRedundantSelectRule (org.apache.asterix.optimizer.rules.RemoveRedundantSelectRule)1 InlineSubplanInputForNestedTupleSourceRule (org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule)1 IAlgebraicRewriteRule (org.apache.hyracks.algebricks.core.rewriter.base.IAlgebraicRewriteRule)1 RemoveRedundantVariablesRule (org.apache.hyracks.algebricks.rewriter.rules.RemoveRedundantVariablesRule)1 RemoveUnusedAssignAndAggregateRule (org.apache.hyracks.algebricks.rewriter.rules.RemoveUnusedAssignAndAggregateRule)1 NestedSubplanToJoinRule (org.apache.hyracks.algebricks.rewriter.rules.subplan.NestedSubplanToJoinRule)1