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