>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]>

Reply via email to