Author: thomasm
Date: Thu Sep 24 08:58:40 2015
New Revision: 1705017

URL: http://svn.apache.org/viewvc?rev=1705017&view=rev
Log:
OAK-2852 Query engine: if counter index is not available, cost of traversing is 
too low

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java
    
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/query/UnionQueryImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/JoinImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SourceImpl.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java?rev=1705017&r1=1705016&r2=1705017&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java
 Thu Sep 24 08:58:40 2015
@@ -100,11 +100,11 @@ public interface Query {
     String getPlan();
 
     /**
-     * Get the index cost. The query must already be prepared.
+     * Get the index cost as a JSON string. The query must already be prepared.
      * 
      * @return the index cost
      */
-    String getIndexCost();
+    String getIndexCostInfo();
 
     /**
      * Get the estimated cost.

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=1705017&r1=1705016&r2=1705017&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
 Thu Sep 24 08:58:40 2015
@@ -467,7 +467,7 @@ public class QueryImpl implements Query
         if (explain) {
             String plan = getPlan();
             if (measure) {
-                plan += " cost: { " + getIndexCost() + " }";
+                plan += " cost: { " + getIndexCostInfo() + " }";
             }
             columns = new ColumnImpl[] { new ColumnImpl("explain", "plan", 
"plan")};
             ResultRowImpl r = new ResultRowImpl(this,
@@ -576,8 +576,8 @@ public class QueryImpl implements Query
     }
     
     @Override
-    public String getIndexCost() {
-        return source.getIndexCost(context.getBaseState());
+    public String getIndexCostInfo() {
+        return source.getIndexCostInfo(context.getBaseState());
     }
 
     @Override

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java?rev=1705017&r1=1705016&r2=1705017&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/UnionQueryImpl.java
 Thu Sep 24 08:58:40 2015
@@ -236,12 +236,12 @@ public class UnionQueryImpl implements Q
     }
     
     @Override
-    public String getIndexCost() {
+    public String getIndexCostInfo() {
         StringBuilder buff = new StringBuilder();
         buff.append("{ ");
-        buff.append(left.getIndexCost());
+        buff.append(left.getIndexCostInfo());
         buff.append(", ");
-        buff.append(right.getIndexCost());
+        buff.append(right.getIndexCostInfo());
         buff.append(" }");
         return buff.toString();
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/JoinImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/JoinImpl.java?rev=1705017&r1=1705016&r2=1705017&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/JoinImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/JoinImpl.java
 Thu Sep 24 08:58:40 2015
@@ -110,13 +110,13 @@ public class JoinImpl extends SourceImpl
     }
 
     @Override
-    public String getIndexCost(NodeState rootState) {
+    public String getIndexCostInfo(NodeState rootState) {
         StringBuilder buff = new StringBuilder();
         buff.append(toString());
         buff.append("{ ");
-        buff.append(left.getIndexCost(rootState));
+        buff.append(left.getIndexCostInfo(rootState));
         buff.append(", ");
-        buff.append(right.getIndexCost(rootState));
+        buff.append(right.getIndexCostInfo(rootState));
         buff.append(" }");
         return buff.toString();
     }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java?rev=1705017&r1=1705016&r2=1705017&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
 Thu Sep 24 08:58:40 2015
@@ -353,7 +353,7 @@ public class SelectorImpl extends Source
     }
 
     @Override
-    public String getIndexCost(NodeState rootState) {
+    public String getIndexCostInfo(NodeState rootState) {
         StringBuilder buff = new StringBuilder();
         buff.append(quoteJson(selectorName)).append(": ");
         QueryIndex index = getIndex();

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SourceImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SourceImpl.java?rev=1705017&r1=1705016&r2=1705017&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SourceImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SourceImpl.java
 Thu Sep 24 08:58:40 2015
@@ -91,7 +91,7 @@ public abstract class SourceImpl extends
      * @param rootState the root
      * @return the cost
      */
-    public abstract String getIndexCost(NodeState rootState);
+    public abstract String getIndexCostInfo(NodeState rootState);
 
     /**
      * Prepare executing the query (recursively). This will 'wire' the


Reply via email to