>From Preetham Poluparthi <[email protected]>:
Preetham Poluparthi has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21053?usp=email )
Change subject: [ASTERIXDB-3709][COMP] Support array indexes for disjunction
......................................................................
[ASTERIXDB-3709][COMP] Support array indexes for disjunction
- user model changes: no
- storage format changes: no
- interface changes: no
Ext-ref: MB-70726
Change-Id: I2788834530938bd9ca22ea021025fbe143a7630b
---
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java
1 file changed, 13 insertions(+), 9 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/53/21053/1
diff --git
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java
index 20387fd..e8488c3 100644
---
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java
+++
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AbstractIntroduceAccessMethodRule.java
@@ -751,17 +751,21 @@
}
}
- AccessMethodAnalysisContext disjuncAnalysisCtx =
disjuncAnalyzedAMs.get(BTreeAccessMethod.INSTANCE);
- if (found && disjuncAnalysisCtx != null) {
- AccessMethodAnalysisContext analysisCtx =
analyzedAMs.get(BTreeAccessMethod.INSTANCE);
- if (analysisCtx == null) {
- analysisCtx = new AccessMethodAnalysisContext();
- analyzedAMs.put(BTreeAccessMethod.INSTANCE, analysisCtx);
+ if (found) {
+ for (IAccessMethod accessMethod :
getAccessMethods().get(AlgebricksBuiltinFunctions.EQ)) {
+ AccessMethodAnalysisContext disjuncAnalysisCtx =
disjuncAnalyzedAMs.get(accessMethod);
+ if (disjuncAnalysisCtx != null) {
+ AccessMethodAnalysisContext analysisCtx =
analyzedAMs.get(accessMethod);
+ if (analysisCtx == null) {
+ analysisCtx = new AccessMethodAnalysisContext();
+ for (IOptimizableFuncExpr optFuncExpr :
disjuncAnalysisCtx.getMatchedFuncExprs()) {
+ analysisCtx.addMatchedFuncExpr(optFuncExpr);
+ }
+ analyzedAMs.put(accessMethod, analysisCtx);
+ }
+ }
}
- for (IOptimizableFuncExpr optFuncExpr :
disjuncAnalysisCtx.getMatchedFuncExprs()) {
- analysisCtx.addMatchedFuncExpr(optFuncExpr);
- }
}
return found;
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/21053?usp=email
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: phoenix
Gerrit-Change-Id: I2788834530938bd9ca22ea021025fbe143a7630b
Gerrit-Change-Number: 21053
Gerrit-PatchSet: 1
Gerrit-Owner: Preetham Poluparthi <[email protected]>