Versions Compared

Key

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

...


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


Cleanup suggestations:

Rules which are not in use:

ByNameToByHandleFieldAccessRule - TO BE REMOVED

FuzzyJoinRule - TO BE RE-ENABLED

IntroduceTransactionCommitByAssignOpRule - TO BE REMOVED

PullPositionalVariableFromUnnestRule --?? WHAT DOES IT DO


Rules which should be renamed to *Rule (add the suffix Rule):

EnforceOrderByAfterSubplan

PushProperJoinThroughProduct

PushGroupByThroughProduct

FeedScanCollectionToUnnest

RemoveRedundantGroupByDecorVars

PushSimilarityFunctionsBelowJoin

PullSelectOutOfEqJoin

IntroHashPartitionMergeExchange

PushFunctionsBelowJoin  -extended by PushSimilarityFunctionsBelowJoin)



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.

...