tihom88 commented on code in PR #2724:
URL: https://github.com/apache/jackrabbit-oak/pull/2724#discussion_r2767384231


##########
oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java:
##########
@@ -1117,12 +1115,6 @@ private SelectorExecutionPlan 
getBestSelectorExecutionPlan(
                     if (p.getSupportsPathRestriction()) {
                         entryCount = scaleEntryCount(rootState, filter, 
entryCount);
                     }
-                    if (sortOrder == null || p.getSortOrder() != null) {
-                        // if the query is unordered, or
-                        // if the query contains "order by" and the index can 
sort on that,
-                        // then we don't need to read all entries from the 
index
-                        entryCount = Math.min(maxEntryCount, entryCount);
-                    }

Review Comment:
   @bhabegger , I think we should not just clear this condition. Take following 
example:
   Lets say we have a query with sort, but only one index support the sorted 
filter other don't. So the cost estimation now will be based on index size but 
in fact index which support sort may be better.
   
   The addition of limit brings all indexes at same level because limit is used 
to get MaxEntry count, may be what we need is to bring in index's entry count 
to picture when finalising best best index.
   `long entryCount = p.getEstimatedEntryCount();`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to