public static final List<IAlgebraicRewriteRule> buildFuzzyJoinRuleCollection() { List<IAlgebraicRewriteRule> fuzzy = new LinkedList<>(); fuzzy.add(new FuzzyJoinRule()); fuzzy.add(new ExtractCommonExpressionsRule()); fuzzy.add(new NestedSubplanToJoinRule()); fuzzy.add(new PushSelectIntoJoinRule()); fuzzy.add(new RemoveUnusedAssignAndAggregateRule()); fuzzy.add(new InlineSubplanInputForNestedTupleSourceRule()); fuzzy.add(new RemoveRedundantVariablesRule()); fuzzy.add(new AsterixInlineVariablesRule()); fuzzy.add(new RemoveUnusedAssignAndAggregateRule()); return fuzzy; }
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; }
condPushDownAndJoinInference.add(new EliminateGroupByEmptyKeyRule()); condPushDownAndJoinInference.add(new PushSubplanIntoGroupByRule()); condPushDownAndJoinInference.add(new NestedSubplanToJoinRule()); condPushDownAndJoinInference.add(new EliminateSubplanWithInputCardinalityOneRule());