Class LogicalPlanUtils
java.lang.Object
se.liu.ida.hefquin.engine.queryplan.logical.LogicalPlanUtils
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intcountSubplans(LogicalPlan plan) static LogicalPlancreatePlanWithBinaryJoin(LogicalPlan subPlan1, LogicalPlan subPlan2, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpJoinas root operator and the given plans as its two subplans.static LogicalPlancreatePlanWithBinaryUnion(LogicalPlan subPlan1, LogicalPlan subPlan2, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpUnionas root operator and the given plans as its two subplans.static LogicalPlancreatePlanWithMultiwayJoin(Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.static LogicalPlancreatePlanWithMultiwayJoin(List<LogicalPlan> subPlans, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.static LogicalPlancreatePlanWithMultiwayUnion(Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.static LogicalPlancreatePlanWithMultiwayUnion(List<LogicalPlan> subPlans, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.static LogicalPlancreatePlanWithSubPlans(LogicalOperator rootOp, Iterable<QueryPlanProperty> qpInfo, List<LogicalPlan> subPlans) Creates aLogicalPlanwith the given operator as root operator and the plans given in the list as subplans.static LogicalPlancreatePlanWithSubPlans(LogicalOperator rootOp, Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Creates aLogicalPlanwith the given operator as root operator and the given plans as subplans.static booleanReturns true if the given logical plan is a source assignment.
-
Constructor Details
-
LogicalPlanUtils
public LogicalPlanUtils()
-
-
Method Details
-
createPlanWithBinaryJoin
public static LogicalPlan createPlanWithBinaryJoin(LogicalPlan subPlan1, LogicalPlan subPlan2, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpJoinas root operator and the given plans as its two subplans.- Parameters:
qpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning info
-
createPlanWithMultiwayJoin
public static LogicalPlan createPlanWithMultiwayJoin(Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.- Parameters:
qpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning info
-
createPlanWithMultiwayJoin
public static LogicalPlan createPlanWithMultiwayJoin(List<LogicalPlan> subPlans, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpMultiwayJoinas root operator and the given plans as its subplans.- Parameters:
qpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning info
-
createPlanWithBinaryUnion
public static LogicalPlan createPlanWithBinaryUnion(LogicalPlan subPlan1, LogicalPlan subPlan2, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpUnionas root operator and the given plans as its two subplans.- Parameters:
qpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning info
-
createPlanWithMultiwayUnion
public static LogicalPlan createPlanWithMultiwayUnion(Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.- Parameters:
qpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning info
-
createPlanWithMultiwayUnion
public static LogicalPlan createPlanWithMultiwayUnion(List<LogicalPlan> subPlans, Iterable<QueryPlanProperty> qpInfo) Creates aLogicalPlanwith aLogicalOpMultiwayUnionas root operator and the given plans as its subplans.- Parameters:
qpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning info
-
createPlanWithSubPlans
public static LogicalPlan createPlanWithSubPlans(LogicalOperator rootOp, Iterable<QueryPlanProperty> qpInfo, LogicalPlan... subPlans) Creates aLogicalPlanwith the given operator as root operator and the given plans as subplans.- Parameters:
rootOp- - to be used as root operator of the created planqpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning infosubPlans- - to be used as subplans of the created plan- Returns:
- the created plan
-
createPlanWithSubPlans
public static LogicalPlan createPlanWithSubPlans(LogicalOperator rootOp, Iterable<QueryPlanProperty> qpInfo, List<LogicalPlan> subPlans) Creates aLogicalPlanwith the given operator as root operator and the plans given in the list as subplans. If the given operator is aNullaryLogicalOp, then the given list may be null.- Parameters:
rootOp- - to be used as root operator of the created planqpInfo- - to be copied as the query-planning info of the created plan; may benull, in which case plan is created without initial query-planning infosubPlans- - to be used as subplans of the created plan- Returns:
- the created plan
-
isSourceAssignment
Returns true if the given logical plan is a source assignment. -
countSubplans
-