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 2015/09/24 10:58:41 UTC
svn commit: r1705017 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query:
Query.java QueryImpl.java UnionQueryImpl.java ast/JoinImpl.java
ast/SelectorImpl.java ast/SourceImpl.java
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