This is an automated email from the ASF dual-hosted git repository.
mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git
The following commit(s) were added to refs/heads/master by this push:
new f388dbc8d9 [ASTERIXDB-3635][COMP] Fix array skip-index annotation
f388dbc8d9 is described below
commit f388dbc8d925d1aa29ba6b03444a1ce2d16a4bef
Author: murali4104 <[email protected]>
AuthorDate: Thu Oct 16 08:04:13 2025 -0700
[ASTERIXDB-3635][COMP] Fix array skip-index annotation
Ext-Ref: MB-68074
Change-Id: I5f8ac2170fd6b2beef14d90cd8b93411f0f19ba8
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20489
Reviewed-by: Preetham Poluparthi <[email protected]>
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
---
.../rules/am/IntroduceSelectAccessMethodRule.java | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
index df9fb2cf5a..d3efcac4c3 100644
---
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
+++
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/IntroduceSelectAccessMethodRule.java
@@ -495,22 +495,24 @@ public class IntroduceSelectAccessMethodRule extends
AbstractIntroduceAccessMeth
if (continueCheck &&
context.getPhysicalOptimizationConfig().isArrayIndexEnabled()
&&
SelectFromSubplanRewrite.isApplicableForRewriteCursory(indexProvider,
selectOp)) {
- // If there exists a composite atomic-array index, our
conjuncts will be split across multiple
- // SELECTs. This rewrite is to be used **solely** for the
purpose of changing a DATA-SCAN into a
- // non-index-only plan branch. No nodes introduced from this
rewrite will be used beyond this point.
-
- if (rewriteLocallyAndTransform(selectRef, context,
mergedSelectRewrite, checkApplicableOnly,
- chosenIndexes, analyzedAMs)) {
- return true;
- }
// If there exists a SUBPLAN in our plan, and we are
conditioning on a variable, attempt to rewrite
// this subplan to allow an array-index AM to be introduced.
Again, this rewrite is to be used
// **solely** for the purpose of changing a DATA-SCAN into a
non-index-only plan branch.
+ // the order of these rewrites was switched on Glenn's
suggestion
if (rewriteLocallyAndTransform(selectRef, context,
selectFromSubplanRewrite, checkApplicableOnly,
chosenIndexes, analyzedAMs)) {
return true;
}
+
+ // If there exists a composite atomic-array index, our
conjuncts will be split across multiple
+ // SELECTs. This rewrite is to be used **solely** for the
purpose of changing a DATA-SCAN into a
+ // non-index-only plan branch. No nodes introduced from this
rewrite will be used beyond this point.
+
+ if (rewriteLocallyAndTransform(selectRef, context,
mergedSelectRewrite, checkApplicableOnly,
+ chosenIndexes, analyzedAMs)) {
+ return true;
+ }
}
// Check the condition of SELECT operator is a function call since