You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2014/08/06 15:56:21 UTC

svn commit: r1616236 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak: query/QueryImpl.java spi/query/QueryIndex.java

Author: thomasm
Date: Wed Aug  6 13:56:20 2014
New Revision: 1616236

URL: http://svn.apache.org/r1616236
Log:
OAK-301 Document Oak

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java?rev=1616236&r1=1616235&r2=1616236&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java Wed Aug  6 13:56:20 2014
@@ -440,6 +440,7 @@ public class QueryImpl implements Query 
         RowIterator rowIt = new RowIterator(context.getBaseState());
         Comparator<ResultRowImpl> orderBy;
         boolean sortUsingIndex = false;
+        // TODO add issue about order by optimization for multiple selectors
         if (orderings != null && selectors.size() == 1) {
             IndexPlan plan = selectors.get(0).getExecutionPlan().getIndexPlan();
             if (plan != null) {
@@ -811,6 +812,7 @@ public class QueryImpl implements Query 
                         filter, sortOrder, rootState);
                 cost = Double.POSITIVE_INFINITY;
                 for (IndexPlan p : ipList) {
+                    // TODO limit is after all conditions
                     long entryCount = Math.min(maxEntryCount, p.getEstimatedEntryCount());
                     double c = p.getCostPerExecution() + entryCount * p.getCostPerEntry();
                     if (c < cost) {

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java?rev=1616236&r1=1616235&r2=1616236&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java Wed Aug  6 13:56:20 2014
@@ -153,6 +153,9 @@ public interface QueryIndex {
 
         /**
          * Get the query plan description (for logging purposes).
+         * <p>
+         * The index plan is one of the plans that the index returned in the
+         * getPlans call.
          * 
          * @param plan the index plan
          * @param root root state of the current repository snapshot
@@ -163,6 +166,9 @@ public interface QueryIndex {
         /**
          * Start a query. The filter and sort order of the index plan is to be
          * used.
+         * <p>
+         * The index plan is one of the plans that the index returned in the
+         * getPlans call.
          * 
          * @param plan the index plan to use
          * @param rootState root state of the current repository snapshot