>From Vijay Sarathy <[email protected]>:
Vijay Sarathy has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17408 )
Change subject: [ASTERIXDB-3125][COMP] Select operator has zero cost and
cardinality
......................................................................
[ASTERIXDB-3125][COMP] Select operator has zero cost and cardinality
Change-Id: I7cbff25b14346ca8eca5baa7e0fe8fb1da72f270
---
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
1 file changed, 18 insertions(+), 6 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/08/17408/1
diff --git
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
index 183eb46..cee555e 100644
---
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
+++
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
@@ -434,8 +434,9 @@
HashMap<EmptyTupleSourceOperator, ILogicalOperator>
joinLeafInputsHashMap) {
ILogicalOperator leftInput =
joinLeafInputsHashMap.get(plan.getEmptyTupleSourceOp());
skipAllIndexes(plan, leftInput);
- if (leftInput.getOperatorTag() == LogicalOperatorTag.SELECT) {
- addCardCostAnnotations(leftInput, plan);
+ ILogicalOperator selOp = findSelectOrDataScan(leftInput);
+ if (selOp != null) {
+ addCardCostAnnotations(selOp, plan);
}
addCardCostAnnotations(findDataSourceScanOperator(leftInput), plan);
}
@@ -493,8 +494,9 @@
// leaf
ILogicalOperator leftInput =
joinLeafInputsHashMap.get(leftPlan.getEmptyTupleSourceOp());
skipAllIndexes(leftPlan, leftInput);
- if (leftInput.getOperatorTag() == LogicalOperatorTag.SELECT) {
- addCardCostAnnotations(leftInput, leftPlan);
+ ILogicalOperator selOp = findSelectOrDataScan(leftInput);
+ if (selOp != null) {
+ addCardCostAnnotations(selOp, leftPlan);
}
joinOp.getInputs().get(0).setValue(leftInput);
addCardCostAnnotations(findDataSourceScanOperator(leftInput),
leftPlan);
@@ -510,8 +512,9 @@
// leaf
ILogicalOperator rightInput =
joinLeafInputsHashMap.get(rightPlan.getEmptyTupleSourceOp());
skipAllIndexes(rightPlan, rightInput);
- if (rightInput.getOperatorTag() == LogicalOperatorTag.SELECT) {
- addCardCostAnnotations(rightInput, rightPlan);
+ ILogicalOperator selOp = findSelectOrDataScan(rightInput);
+ if (selOp != null) {
+ addCardCostAnnotations(selOp, rightPlan);
}
joinOp.getInputs().get(1).setValue(rightInput);
addCardCostAnnotations(findDataSourceScanOperator(rightInput),
rightPlan);
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17408
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: neo
Gerrit-Change-Id: I7cbff25b14346ca8eca5baa7e0fe8fb1da72f270
Gerrit-Change-Number: 17408
Gerrit-PatchSet: 1
Gerrit-Owner: Vijay Sarathy <[email protected]>
Gerrit-MessageType: newchange