public final static List<IAlgebraicRewriteRule> prepareForJobGenRuleCollection() { List<IAlgebraicRewriteRule> prepareForJobGenRewrites = new LinkedList<IAlgebraicRewriteRule>(); prepareForJobGenRewrites.add(new ConvertFromAlgebricksExpressionsRule()); prepareForJobGenRewrites .add(new IsolateHyracksOperatorsRule(HeuristicOptimizer.hyraxOperatorsBelowWhichJobGenIsDisabled)); prepareForJobGenRewrites.add(new ExtractCommonOperatorsRule()); // Re-infer all types, so that, e.g., the effect of not-is-null is // propagated. prepareForJobGenRewrites.add(new PushProjectIntoDataSourceScanRule()); prepareForJobGenRewrites.add(new ReinferAllTypesRule()); prepareForJobGenRewrites.add(new SetExecutionModeRule()); return prepareForJobGenRewrites; } }
public static final List<IAlgebraicRewriteRule> prepareForJobGenRuleCollection() { List<IAlgebraicRewriteRule> prepareForJobGenRewrites = new LinkedList<>(); prepareForJobGenRewrites.add(new InsertProjectBeforeUnionRule()); prepareForJobGenRewrites.add(new SetAlgebricksPhysicalOperatorsRule()); prepareForJobGenRewrites .add(new IsolateHyracksOperatorsRule(HeuristicOptimizer.hyraxOperatorsBelowWhichJobGenIsDisabled)); prepareForJobGenRewrites.add(new FixReplicateOperatorOutputsRule()); prepareForJobGenRewrites.add(new ExtractCommonOperatorsRule()); // Re-infer all types, so that, e.g., the effect of not-is-null is // propagated. prepareForJobGenRewrites.add(new ReinferAllTypesRule()); prepareForJobGenRewrites.add(new PushGroupByIntoSortRule()); prepareForJobGenRewrites.add(new SetExecutionModeRule()); prepareForJobGenRewrites.add(new SweepIllegalNonfunctionalFunctions()); prepareForJobGenRewrites.add(new FixReplicateOperatorOutputsRule()); return prepareForJobGenRewrites; } }
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 ReinferAllTypesRule()); 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; }