Class AbstractRewritingRuleImpl
java.lang.Object
se.liu.ida.hefquin.engine.queryproc.impl.poptimizer.rewriting.rules.AbstractRewritingRuleImpl
- All Implemented Interfaces:
 RewritingRule
- Direct Known Subclasses:
 GenericRuleChangeOrderOfTwoUnaryOp,GenericRuleMergeBGPAddOfReqIntoOneBGPReq,GenericRuleMergeJoinOfTwoReqIntoOneBGPReq,RuleChangeOrderAndMergeJoinOfBGPReqIntoBGPAdd,RuleChangeOrderAndMergeJoinOfTPReqIntoTPAdd,RuleChangeOrderOfThreeSubPlansOfJOIN,RuleChangeOrderOfThreeSubPlansOfUNION,RuleChangeOrderOfTwoSubPlansOfJOIN,RuleChangeOrderOfTwoSubPlansOfUNION,RuleConvertBGPAddToBJFILTER,RuleConvertBGPAddToBJUNION,RuleConvertBGPAddToBJVALUES,RuleConvertBGPAddToHashJoin,RuleConvertBGPAddToIndexNLJ,RuleConvertBGPAddToSymmetricHashJoin,RuleConvertGBPAddToNaiveNLJ,RuleConvertTPAddToBindJoin,RuleConvertTPAddToBJFILTER,RuleConvertTPAddToBJUNION,RuleConvertTPAddToBJVALUES,RuleConvertTPAddToHashJoin,RuleConvertTPAddToIndexNLJ,RuleConvertTPAddToNaiveNLJ,RuleConvertTPAddToSymmetricHashJoin,RuleConvertUnionOfTwoJoinsToJoinOfUnion,RuleDistributeJOINOverUNION,RuleDivideBGPAddToMultiTPAdd,RuleDivideBGPReqIntoJoinOfTPReqs,RuleDivideBGPReqIntoMultiTPAdds,RuleDivideMultiwayJoinToJoinOfSubPlans,RuleDivideMultiwayUnionToUnionOfSubPlans,RuleMergeBGPAddOfGraphPatternReqIntoOneRequest,RuleMergeChildJoinIntoMultiwayJoin,RuleMergeChildUnionIntoMultiwayUnion,RuleMergeJoinOfOneBGPReqIntoBGPAdd,RuleMergeJoinOfOneTPReqIntoTPAdd,RuleMergeJoinOfTwoPatternReqIntoOneReq,RuleMergeMultiwayJoinOfMultiIdenticalSubPlansIntoOne,RuleMergeMultiwayUnionOfMultiIdenticalSubPlansIntoOne,RuleMergeTPAddOfBGPAddIntoBGPAdd,RuleMergeTPAddOfBGPReqIntoOneRequest,RuleMergeTPAddOfGraphPatternReqIntoOneRequest,RuleMergeTwoBGPAddIntoOneBGPAdd,RuleMergeUnionOfTwoIdenticalSubPlansIntoOne,RuleMergeUNIONOfTwoPatternReqIntoOneReq
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected abstract booleancanBeAppliedTo(PhysicalPlan plan) protected voidcollectAllPossibleApplications(PhysicalPlan plan, Set<RuleApplication> collectedRuleApps, Stack<PhysicalPlan> currentPathFromRoot) protected abstract RuleApplicationcreateRuleApplication(PhysicalPlan[] pathToTargetPlan) Returns all possible applications of this rule for the given plan.double 
- 
Field Details
- 
priority
protected final double priority 
 - 
 - 
Constructor Details
- 
AbstractRewritingRuleImpl
public AbstractRewritingRuleImpl(double priority)  
 - 
 - 
Method Details
- 
getPriority
public double getPriority()- Specified by:
 getPriorityin interfaceRewritingRule
 - 
determineAllPossibleApplications
Description copied from interface:RewritingRuleReturns all possible applications of this rule for the given plan. Each of the returnedRuleApplicationobjects will return the given plan when callingRuleApplication.getPlan()and it will return this rule when callingRuleApplication.getRule().- Specified by:
 determineAllPossibleApplicationsin interfaceRewritingRule
 - 
collectAllPossibleApplications
protected void collectAllPossibleApplications(PhysicalPlan plan, Set<RuleApplication> collectedRuleApps, Stack<PhysicalPlan> currentPathFromRoot)  - 
canBeAppliedTo
 - 
createRuleApplication
 
 -