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