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 2013/07/16 17:05:06 UTC

svn commit: r1503743 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java

Author: thomasm
Date: Tue Jul 16 15:05:05 2013
New Revision: 1503743

URL: http://svn.apache.org/r1503743
Log:
OAK-904 Query: support "union" and "union all"

Added:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
      - copied, changed from r1503641, jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java

Copied: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java (from r1503641, 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/QueryImpl.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/Query.java&r1=1503641&r2=1503743&rev=1503743&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/QueryImpl.java Tue Jul 16 15:05:05 2013
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  * object. Call init() to initialize the bind variable map. If the query is
  * re-executed, a new instance is created.
  */
-public class Query {
+public class QueryImpl implements AbstractQuery {
     
     /**
      * The "jcr:path" pseudo-property.
@@ -85,7 +85,7 @@ public class Query {
      */
     public static final String REP_EXCERPT = "rep:excerpt";
 
-    private static final Logger LOG = LoggerFactory.getLogger(Query.class);
+    private static final Logger LOG = LoggerFactory.getLogger(QueryImpl.class);
 
     final SourceImpl source;
     final String statement;
@@ -106,7 +106,7 @@ public class Query {
     private NodeState rootState;
     private NamePathMapper namePathMapper;
 
-    Query(String statement, SourceImpl source, ConstraintImpl constraint, OrderingImpl[] orderings,
+    QueryImpl(String statement, SourceImpl source, ConstraintImpl constraint, OrderingImpl[] orderings,
           ColumnImpl[] columns) {
         this.statement = statement;
         this.source = source;
@@ -117,7 +117,7 @@ public class Query {
 
     public void init() {
 
-        final Query query = this;
+        final QueryImpl query = this;
 
         new AstVisitorBase() {
 
@@ -301,6 +301,7 @@ public class Query {
         }
     }
 
+    @Override
     public ColumnImpl[] getColumns() {
         return columns;
     }
@@ -317,14 +318,17 @@ public class Query {
         return source;
     }
 
-    void bindValue(String varName, PropertyValue value) {
+    @Override
+    public void bindValue(String varName, PropertyValue value) {
         bindVariableMap.put(varName, value);
     }
 
+    @Override
     public void setLimit(long limit) {
         this.limit = limit;
     }
 
+    @Override
     public void setOffset(long offset) {
         this.offset = offset;
     }
@@ -337,11 +341,13 @@ public class Query {
         this.measure = measure;
     }
 
+    @Override
     public ResultImpl executeQuery() {
         return new ResultImpl(this);
     }
 
-    Iterator<ResultRowImpl> getRows() {
+    @Override
+    public Iterator<ResultRowImpl> getRows() {
         prepare();
         Iterator<ResultRowImpl> it;
         if (explain) {
@@ -485,7 +491,8 @@ public class Query {
         return source.getPlan(rootState);
     }
 
-    void prepare() {
+    @Override
+    public void prepare() {
         if (prepared) {
             return;
         }
@@ -597,7 +604,7 @@ public class Query {
         return new ResultRowImpl(this, paths, values, orderValues);
     }
 
-    public int getSelectorIndex(String selectorName) {
+    int getSelectorIndex(String selectorName) {
         Integer index = selectorIndexes.get(selectorName);
         if (index == null) {
             throw new IllegalArgumentException("Unknown selector: " + selectorName);
@@ -605,7 +612,7 @@ public class Query {
         return index;
     }
 
-    public int getColumnIndex(String columnName) {
+    int getColumnIndex(String columnName) {
         for (int i = 0, size = columns.length; i < size; i++) {
             ColumnImpl c = columns[i];
             String cn = c.getColumnName();
@@ -624,14 +631,17 @@ public class Query {
         return v;
     }
 
+    @Override
     public List<SelectorImpl> getSelectors() {
         return Collections.unmodifiableList(selectors);
     }
 
+    @Override
     public List<String> getBindVariableNames() {
         return new ArrayList<String>(bindVariableMap.keySet());
     }
 
+    @Override
     public void setQueryEngine(QueryEngineImpl queryEngine) {
         this.queryEngine = queryEngine;
     }
@@ -640,14 +650,17 @@ public class Query {
         return queryEngine.getBestIndex(this, rootState, filter);
     }
 
+    @Override
     public void setRootTree(Tree rootTree) {
         this.rootTree = rootTree;
     }
     
+    @Override
     public void setRootState(NodeState rootState) {
         this.rootState = rootState;
     }
 
+    @Override
     public void setNamePathMapper(NamePathMapper namePathMapper) {
         this.namePathMapper = namePathMapper;
     }
@@ -699,6 +712,7 @@ public class Query {
         return buff.toString();
     }
 
+    @Override
     public long getSize() {
         return size;
     }