Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. TypeInference

  2. Normalization

  3. CondPushDownAndJoinInference

  4. LoadFields

  5. Fuzzy

  6. Normalization - repeated

  7. CondPushDownAndJoinInference - repeated

  8. LoadFields - repeated

  9. DataExchange

  10. PhysicalRewritesAllLevel

  11. PhysicalRewritesTopLevel

  12. PrepareForJobGen

  13. PhysicalRewritesAllLevel

  14. PhysicalRewritesTopLevel

  15. PrepareForJobGen

Abstract rules:

AbstractDecorrelationRule implemented by IntroJoinInsideSubplanRule

AbstractExtractExprRule implemented ExtractDistinctByExpressionsRule,  ExtractGbyExpressionsRule, ExtractOrderExpressionsRule

AbstractIntroduceAccessMethodRule implemented by IntroduceJoinAccessMethodRule, IntroduceSelectAccessMethodRule

AbstractIntroduceCombinerRule implemented by IntroduceAggregateCombinerRule, IntroduceGroupByCombinerRule

InlineVariablesRule - AsterixInlineVariablesRule actually extends this rule


Rules used by Hive or Piglet:

InsertProjectBeforeWriteRule - used by Hive

IntroduceEarlyProjectRule - used by Hive

LocalGroupByRule - used by Hive

PushProjectIntoDataSourceScanRule - used by Hive and Piglet

RemoveRedundantProjectionRule - used by Hive

RemoveRedundantSelectRule - used by Hive



Types of rules:

SequentialFixpointRuleController(false) = you don’t do a DFS and apply the rule to the operator only, however you reiterate on the group of rules  until you  get no change

SequentialFixpointRuleController(true) = you do a DFS

SequentialOnceRuleController(true) = you apply the rule once

There are 60 beyond-compare sessions ready to show the plan before and after the rule was applied. Note that not all rules produce an apparent change in the plan.

...