You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by de...@apache.org on 2022/07/05 01:52:54 UTC

[hive] branch master updated: HIVE-26057: Clean useless methods in QueryWrapper (Zhihua Deng, reviewed by Peter Vary)

This is an automated email from the ASF dual-hosted git repository.

dengzh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 53009126f6 HIVE-26057: Clean useless methods in QueryWrapper (Zhihua Deng, reviewed by Peter Vary)
53009126f6 is described below

commit 53009126f6fe7ccf24cf052fd6c156542f38b19d
Author: dengzh <de...@gmail.com>
AuthorDate: Tue Jul 5 09:52:44 2022 +0800

    HIVE-26057: Clean useless methods in QueryWrapper (Zhihua Deng, reviewed by Peter Vary)
    
    Closes #3124
---
 .../hadoop/hive/metastore/MetaStoreDirectSql.java  |  60 ++--
 .../apache/hadoop/hive/metastore/QueryWrapper.java | 322 +--------------------
 2 files changed, 33 insertions(+), 349 deletions(-)

diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
index 6be4c3f84a..0272ff9698 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java
@@ -21,7 +21,6 @@ package org.apache.hadoop.hive.metastore;
 import static org.apache.commons.lang3.StringUtils.join;
 import static org.apache.commons.lang3.StringUtils.normalizeSpace;
 import static org.apache.commons.lang3.StringUtils.repeat;
-import static org.apache.hadoop.hive.metastore.MetastoreDirectSqlUtils.throwMetaOrRuntimeException;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -392,7 +391,7 @@ class MetaStoreDirectSql {
       }
 
       List<Object[]> sqlResult = executeWithArray(
-          queryDbSelector, params, queryTextDbSelector);
+          queryDbSelector.getInnerQuery(), params, queryTextDbSelector);
       if ((sqlResult == null) || sqlResult.isEmpty()) {
         return null;
       }
@@ -413,7 +412,7 @@ class MetaStoreDirectSql {
 
       Map<String,String> dbParams = new HashMap<String,String>();
       List<Object[]> sqlResult2 = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryDbParams, params, queryTextDbParams));
+          queryDbParams.getInnerQuery(), params, queryTextDbParams));
       if (!sqlResult2.isEmpty()) {
         for (Object[] line : sqlResult2) {
           dbParams.put(MetastoreDirectSqlUtils.extractSqlString(line[0]), MetastoreDirectSqlUtils
@@ -476,7 +475,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<String> tableNames = executeWithArray(
-          queryParams, pms.toArray(), queryText, limit);
+          queryParams.getInnerQuery(), pms.toArray(), queryText, limit);
       List<String> results = new ArrayList<String>(tableNames);
       return results;
     }
@@ -500,7 +499,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<String> mvs = executeWithArray(
-          queryParams, pms.toArray(), queryText);
+          queryParams.getInnerQuery(), pms.toArray(), queryText);
       List<String> results = new ArrayList<String>(mvs);
       return results;
     }
@@ -614,7 +613,7 @@ class MetaStoreDirectSql {
     int limit = (max == null ? -1 : max);
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       long start = doTrace ? System.nanoTime() : 0;
-      List<Object> sqlResult = executeWithArray(query, params, queryText, limit);
+      List<Object> sqlResult = executeWithArray(query.getInnerQuery(), params, queryText, limit);
       long queryTime = doTrace ? System.nanoTime() : 0;
       MetastoreDirectSqlUtils.timingTrace(doTrace, queryText, start, queryTime);
       for (Object result : sqlResult) {
@@ -845,7 +844,7 @@ class MetaStoreDirectSql {
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       Object[] params = new Object[] { tblName, dbName, catName };
       query.setUnique(true);
-      Object result = executeWithArray(query, params, queryText);
+      Object result = executeWithArray(query.getInnerQuery(), params, queryText);
       return (result != null) && result.toString().equals(TableType.VIRTUAL_VIEW.toString());
     }
   }
@@ -894,7 +893,8 @@ class MetaStoreDirectSql {
 
     long start = doTrace ? System.nanoTime() : 0;
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-      List<Object> sqlResult = executeWithArray(query, params, queryText, ((max == null) ? -1 : max.intValue()));
+      List<Object> sqlResult = executeWithArray(query.getInnerQuery(), params, queryText,
+          ((max == null) ? -1 : max.intValue()));
       long queryTime = doTrace ? System.nanoTime() : 0;
       MetastoreDirectSqlUtils.timingTrace(doTrace, queryText, start, queryTime);
       final List<Long> result;
@@ -958,7 +958,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       long start = doTrace ? System.nanoTime() : 0;
-      List<Object[]> sqlResult = executeWithArray(query, null, queryText);
+      List<Object[]> sqlResult = executeWithArray(query.getInnerQuery(), null, queryText);
       long queryTime = doTrace ? System.nanoTime() : 0;
       Deadline.checkTimeout();
 
@@ -1505,7 +1505,7 @@ class MetaStoreDirectSql {
     long start = doTrace ? System.nanoTime() : 0;
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> queryResult = MetastoreDirectSqlUtils.ensureList(
-              executeWithArray(query, params, queryText));
+              executeWithArray(query.getInnerQuery(), params, queryText));
       long end = doTrace ? System.nanoTime() : 0;
       MetastoreDirectSqlUtils.timingTrace(doTrace, queryText, start, end);
 
@@ -1626,7 +1626,7 @@ class MetaStoreDirectSql {
                 makeParams(inputColName.size()), makeParams(inputPartNames.size()));
             long start = doTrace ? System.nanoTime() : 0;
             try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-              Object qResult = executeWithArray(query, prepareParams(
+              Object qResult = executeWithArray(query.getInnerQuery(), prepareParams(
                   catName, dbName, tableName, inputPartNames, inputColName, engine), queryText);
               long end = doTrace ? System.nanoTime() : 0;
               MetastoreDirectSqlUtils.timingTrace(doTrace, queryText, start, end);
@@ -1680,7 +1680,7 @@ class MetaStoreDirectSql {
     start = doTrace ? System.nanoTime() : 0;
     List<ColStatsObjWithSourceInfo> colStatsForDB = new ArrayList<ColStatsObjWithSourceInfo>();
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-      qResult = executeWithArray(query, new Object[] { dbName, catName }, queryText);
+      qResult = executeWithArray(query.getInnerQuery(), new Object[] { dbName, catName }, queryText);
       if (qResult == null) {
         return colStatsForDB;
       }
@@ -1766,7 +1766,7 @@ class MetaStoreDirectSql {
           + " group by \"COLUMN_NAME\", \"COLUMN_TYPE\"";
       start = doTrace ? System.nanoTime() : 0;
       try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-        Object qResult = executeWithArray(query,
+        Object qResult = executeWithArray(query.getInnerQuery(),
             prepareParams(catName, dbName, tableName, partNames, colNames,
                 engine), queryText);
         if (qResult == null) {
@@ -1800,7 +1800,7 @@ class MetaStoreDirectSql {
       List<String> noExtraColumnNames = new ArrayList<String>();
       Map<String, String[]> extraColumnNameTypeParts = new HashMap<String, String[]>();
       try(QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-        Object qResult = executeWithArray(query,
+        Object qResult = executeWithArray(query.getInnerQuery(),
             prepareParams(catName, dbName, tableName, partNames, colNames,
                 engine), queryText);
         end = doTrace ? System.nanoTime() : 0;
@@ -1837,7 +1837,7 @@ class MetaStoreDirectSql {
         start = doTrace ? System.nanoTime() : 0;
 
         try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-          Object qResult = executeWithArray(query,
+          Object qResult = executeWithArray(query.getInnerQuery(),
               prepareParams(catName, dbName, tableName, partNames, noExtraColumnNames, engine), queryText);
           if (qResult == null) {
             return Collections.emptyList();
@@ -1871,7 +1871,7 @@ class MetaStoreDirectSql {
         try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
           List<String> extraColumnNames = new ArrayList<String>();
           extraColumnNames.addAll(extraColumnNameTypeParts.keySet());
-          Object qResult = executeWithArray(query,
+          Object qResult = executeWithArray(query.getInnerQuery(),
               prepareParams(catName, dbName, tableName, partNames,
                   extraColumnNames, engine), queryText);
           if (qResult == null) {
@@ -1950,7 +1950,7 @@ class MetaStoreDirectSql {
               }
               start = doTrace ? System.nanoTime() : 0;
               try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-                Object qResult = executeWithArray(query,
+                Object qResult = executeWithArray(query.getInnerQuery(),
                     prepareParams(catName, dbName, tableName, partNames, Arrays.asList(colName), engine), queryText);
                 if (qResult == null) {
                   return Collections.emptyList();
@@ -1980,7 +1980,7 @@ class MetaStoreDirectSql {
                   + " group by \"COLUMN_NAME\"";
               start = doTrace ? System.nanoTime() : 0;
               try(QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-                Object qResult = executeWithArray(query,
+                Object qResult = executeWithArray(query.getInnerQuery(),
                     prepareParams(catName, dbName, tableName, partNames, Arrays.asList(colName), engine), queryText);
                 if (qResult == null) {
                   return Collections.emptyList();
@@ -2238,7 +2238,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryParams, pms.toArray(), queryText));
+          queryParams.getInnerQuery(), pms.toArray(), queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] line : sqlResult) {
@@ -2306,7 +2306,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryParams, pms.toArray(), queryText));
+          queryParams.getInnerQuery(), pms.toArray(), queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] line : sqlResult) {
@@ -2365,7 +2365,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryParams, pms.toArray(), queryText));
+          queryParams.getInnerQuery(), pms.toArray(), queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] line : sqlResult) {
@@ -2423,7 +2423,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryParams, pms.toArray(), queryText));
+          queryParams.getInnerQuery(), pms.toArray(), queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] line : sqlResult) {
@@ -2485,7 +2485,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryParams, pms.toArray(), queryText));
+          queryParams.getInnerQuery(), pms.toArray(), queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] line : sqlResult) {
@@ -2549,7 +2549,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper queryParams = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          queryParams, pms.toArray(), queryText));
+          queryParams.getInnerQuery(), pms.toArray(), queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] line : sqlResult) {
@@ -2630,9 +2630,9 @@ class MetaStoreDirectSql {
     List<Object> sdIdList = new ArrayList<>(partitionIdList.size());
     List<Long> columnDescriptorIdList = new ArrayList<>(1);
     List<Object> serdeIdList = new ArrayList<>(partitionIdList.size());
-    try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
+    try (QueryWrapper wrapper = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils
-          .ensureList(executeWithArray(query, null, queryText));
+          .ensureList(executeWithArray(wrapper.getInnerQuery(), null, queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] fields : sqlResult) {
@@ -2712,7 +2712,7 @@ class MetaStoreDirectSql {
 
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils
-          .ensureList(executeWithArray(query, null, queryText));
+          .ensureList(executeWithArray(query.getInnerQuery(), null, queryText));
 
       if (!sqlResult.isEmpty()) {
         for (Object[] fields : sqlResult) {
@@ -2830,7 +2830,7 @@ class MetaStoreDirectSql {
             + "GROUP BY " + SDS + ".\"CD_ID\"";
     Set<Long> danglingColumnDescriptorIdSet = new HashSet<>(columnDescriptorIdList);
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
-      List<Long> sqlResult = executeWithArray(query, null, queryText);
+      List<Long> sqlResult = executeWithArray(query.getInnerQuery(), null, queryText);
 
       if (!sqlResult.isEmpty()) {
         for (Long cdId : sqlResult) {
@@ -2898,7 +2898,7 @@ class MetaStoreDirectSql {
     LOG.debug("Running {}", queryText);
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils.ensureList(executeWithArray(
-          query, new Object[] { dbName, catName, tableName }, queryText));
+          query.getInnerQuery(), new Object[] { dbName, catName, tableName }, queryText));
       Map<String, List<String>> result = new HashMap<>();
       String lastPartName = null;
       List<String> cols = null;
@@ -2936,7 +2936,7 @@ class MetaStoreDirectSql {
     LOG.debug("Running {}", queryText);
     try (QueryWrapper query = new QueryWrapper(pm.newQuery("javax.jdo.query.SQL", queryText))) {
       List<Object[]> sqlResult = MetastoreDirectSqlUtils
-          .ensureList(executeWithArray(query, STATS_TABLE_TYPES, queryText));
+          .ensureList(executeWithArray(query.getInnerQuery(), STATS_TABLE_TYPES, queryText));
       for (Object[] line : sqlResult) {
         result.add(new org.apache.hadoop.hive.common.TableName(
             MetastoreDirectSqlUtils.extractSqlString(line[2]), MetastoreDirectSqlUtils
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/QueryWrapper.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/QueryWrapper.java
index 530ba18071..67944675a2 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/QueryWrapper.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/QueryWrapper.java
@@ -18,13 +18,7 @@
 
 package org.apache.hadoop.hive.metastore;
 
-import javax.jdo.Extent;
-import javax.jdo.FetchPlan;
-import javax.jdo.PersistenceManager;
 import javax.jdo.Query;
-
-import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 
 import static java.util.Objects.requireNonNull;
@@ -34,8 +28,7 @@ import static java.util.Objects.requireNonNull;
  * is delegated to the wrapped object's {@link Query#closeAll()} method.
  * This way the users of the wrapper can use try-with-resources without exception handling.
  */
-public class QueryWrapper implements Query {
-
+public class QueryWrapper implements AutoCloseable {
   private final Query delegate;
 
   public QueryWrapper(Query query) {
@@ -51,380 +44,71 @@ public class QueryWrapper implements Query {
     delegate.closeAll();
   }
 
-  // ======================= Interfaces of Query ===========================
-  @Override
   public void setClass(Class cls) {
     delegate.setClass(cls);
   }
 
-  @Override
-  public void setCandidates(Extent pcs) {
-    delegate.setCandidates(pcs);
-  }
-
-  @Override
-  public void setCandidates(Collection pcs) {
-    delegate.setCandidates(pcs);
-  }
-
-  @Override
   public void setFilter(String filter) {
     delegate.setFilter(filter);
   }
 
-  @Override
-  public void declareImports(String imports) {
-    delegate.declareImports(imports);
-  }
-
-  @Override
   public void declareParameters(String parameters) {
     delegate.declareParameters(parameters);
   }
 
-  @Override
-  public void declareVariables(String variables) {
-    delegate.declareVariables(variables);
-  }
-
-  @Override
   public void setOrdering(String ordering) {
     delegate.setOrdering(ordering);
   }
 
-  @Override
-  public void setIgnoreCache(boolean ignoreCache) {
-    delegate.setIgnoreCache(ignoreCache);
-  }
-
-  @Override
-  public boolean getIgnoreCache() {
-    return delegate.getIgnoreCache();
-  }
-
-  @Override
-  public void compile() {
-    delegate.compile();
-  }
-
-  @Override
   public Object execute() {
     return delegate.execute();
   }
 
-  @Override
   public Object execute(Object p1) {
     return delegate.execute(p1);
   }
 
-  @Override
   public Object execute(Object p1, Object p2) {
     return delegate.execute(p1, p2);
   }
 
-  @Override
   public Object execute(Object p1, Object p2, Object p3) {
     return delegate.execute(p1, p2, p3);
   }
 
-  @Override
   public Object executeWithMap(Map parameters) {
     return delegate.executeWithMap(parameters);
   }
 
-  @Override
   public Object executeWithArray(Object... parameters) {
     return delegate.executeWithArray(parameters);
   }
 
-  @Override
-  public PersistenceManager getPersistenceManager() {
-    return delegate.getPersistenceManager();
-  }
-
-  @Override
-  public void close(Object queryResult) {
-    delegate.close(queryResult);
-  }
-
-  @Override
-  public void closeAll() {
-    delegate.closeAll();
-  }
-
-  @Override
-  public void setGrouping(String group) {
-    delegate.setGrouping(group);
-  }
-
-  @Override
   public void setUnique(boolean unique) {
     delegate.setUnique(unique);
   }
 
-  @Override
   public void setResult(String data) {
     delegate.setResult(data);
   }
 
-  @Override
   public void setResultClass(Class cls) {
     delegate.setResultClass(cls);
   }
 
-  @Override
   public void setRange(long fromIncl, long toExcl) {
     delegate.setRange(fromIncl, toExcl);
   }
 
-  @Override
-  public void setRange(String fromInclToExcl) {
-    delegate.setRange(fromInclToExcl);
-  }
-
-  @Override
-  public void addExtension(String key, Object value) {
-    delegate.addExtension(key, value);
-  }
-
-  @Override
-  public void setExtensions(Map extensions) {
-    delegate.setExtensions(extensions);
-  }
-
-  @Override
-  public FetchPlan getFetchPlan() {
-    return delegate.getFetchPlan();
-  }
-
-  @Override
   public long deletePersistentAll(Object... parameters) {
     return delegate.deletePersistentAll(parameters);
   }
 
-  @Override
   public long deletePersistentAll(Map parameters) {
     return delegate.deletePersistentAll(parameters);
   }
 
-  @Override
-  public long deletePersistentAll() {
-    return delegate.deletePersistentAll();
-  }
-
-  @Override
-  public void setUnmodifiable() {
-    delegate.setUnmodifiable();
-  }
-
-  @Override
-  public boolean isUnmodifiable() {
-    return delegate.isUnmodifiable();
-  }
-
-  @Override
-  public void addSubquery(Query sub, String variableDeclaration, String candidateCollectionExpression) {
-    delegate.addSubquery(sub, variableDeclaration, candidateCollectionExpression);
-  }
-
-  @Override
-  public void addSubquery(Query sub, String variableDeclaration, String candidateCollectionExpression, String parameter) {
-    delegate.addSubquery(sub, variableDeclaration, candidateCollectionExpression, parameter);
-  }
-
-  @Override
-  public void addSubquery(Query sub, String variableDeclaration, String candidateCollectionExpression, String... parameters) {
-    delegate.addSubquery(sub, variableDeclaration, candidateCollectionExpression, parameters);
-  }
-
-  @Override
-  public void addSubquery(Query sub, String variableDeclaration, String candidateCollectionExpression, Map parameters) {
-    delegate.addSubquery(sub, variableDeclaration, candidateCollectionExpression, parameters);
-  }
-
-  @Override
-  public void setDatastoreReadTimeoutMillis(Integer interval) {
-    delegate.setDatastoreReadTimeoutMillis(interval);
-  }
-
-  @Override
-  public Integer getDatastoreReadTimeoutMillis() {
-    return delegate.getDatastoreReadTimeoutMillis();
-  }
-
-  @Override
-  public void setDatastoreWriteTimeoutMillis(Integer interval) {
-    delegate.setDatastoreWriteTimeoutMillis(interval);
-  }
-
-  @Override
-  public Integer getDatastoreWriteTimeoutMillis() {
-    return delegate.getDatastoreWriteTimeoutMillis();
-  }
-
-  @Override
-  public void cancelAll() {
-    delegate.cancelAll();
-  }
-
-  @Override
-  public void cancel(Thread thread) {
-    delegate.cancel(thread);
-  }
-
-  @Override
-  public void setSerializeRead(Boolean serialize) {
-    delegate.setSerializeRead(serialize);
-  }
-
-  @Override
-  public Boolean getSerializeRead() {
-    return delegate.getSerializeRead();
-  }
-
-  @Override
-  public Query saveAsNamedQuery(String name) {
-    return delegate.saveAsNamedQuery(name);
-  }
-
-  @Override
-  public Query filter(String filter) {
-    return delegate.filter(filter);
-  }
-
-  @Override
-  public Query orderBy(String ordering) {
-    return delegate.orderBy(ordering);
-  }
-
-  @Override
-  public Query groupBy(String group) {
-    return delegate.groupBy(group);
-  }
-
-  @Override
-  public Query result(String result) {
-    return delegate.result(result);
-  }
-
-  @Override
-  public Query range(long fromIncl, long toExcl) {
-    return delegate.range(fromIncl, toExcl);
-  }
-
-  @Override
-  public Query range(String fromInclToExcl) {
-    return delegate.range(fromInclToExcl);
-  }
-
-  @Override
-  public Query subquery(Query sub, String variableDeclaration, String candidateCollectionExpression) {
-    return delegate.subquery(sub, variableDeclaration, candidateCollectionExpression);
-  }
-
-  @Override
-  public Query subquery(Query sub, String variableDeclaration, String candidateCollectionExpression, String parameter) {
-    return delegate.subquery(sub, variableDeclaration, candidateCollectionExpression, parameter);
-  }
-
-  @Override
-  public Query subquery(Query sub, String variableDeclaration, String candidateCollectionExpression, String... parameters) {
-    return delegate.subquery(sub, variableDeclaration, candidateCollectionExpression, parameters);
-  }
-
-  @Override
-  public Query subquery(Query sub, String variableDeclaration, String candidateCollectionExpression, Map parameters) {
-    return delegate.subquery(sub, variableDeclaration, candidateCollectionExpression, parameters);
-  }
-
-  @Override
-  public Query imports(String imports) {
-    return delegate.imports(imports);
-  }
-
-  @Override
-  public Query parameters(String parameters) {
-    return delegate.parameters(parameters);
-  }
-
-  @Override
-  public Query variables(String variables) {
-    return delegate.variables(variables);
-  }
-
-  @Override
-  public Query datastoreReadTimeoutMillis(Integer interval) {
-    return delegate.datastoreReadTimeoutMillis(interval);
-  }
-
-  @Override
-  public Query datastoreWriteTimeoutMillis(Integer interval) {
-    return delegate.datastoreWriteTimeoutMillis(interval);
-  }
-
-  @Override
-  public Query serializeRead(Boolean serialize) {
-    return delegate.serializeRead(serialize);
-  }
-
-  @Override
-  public Query unmodifiable() {
-    return delegate.unmodifiable();
-  }
-
-  @Override
-  public Query ignoreCache(boolean flag) {
-    return delegate.ignoreCache(flag);
-  }
-
-  @Override
-  public Query extension(String key, Object value) {
-    return delegate.extension(key, value);
-  }
-
-  @Override
-  public Query extensions(Map values) {
-    return delegate.extensions(values);
-  }
-
-  @Override
-  public Query setNamedParameters(Map namedParamMap) {
-    return delegate.setNamedParameters(namedParamMap);
-  }
-
-  @Override
-  public Query setParameters(Object... paramValues) {
-    return delegate.setParameters(paramValues);
-  }
-
-  @Override
-  public List executeList() {
-    return delegate.executeList();
-  }
-
-  @Override
-  public Object executeUnique() {
-    return delegate.executeUnique();
-  }
-
-  @Override
-  public List executeResultList(Class resultCls) {
-    return delegate.executeResultList(resultCls);
-  }
-
-  @Override
-  public Object executeResultUnique(Class resultCls) {
-    return delegate.executeResultUnique(resultCls);
-  }
-
-  @Override
-  public List<Object> executeResultList() {
-    return delegate.executeResultList();
-  }
-
-  @Override
-  public Object executeResultUnique() {
-    return delegate.executeResultUnique();
+  public Query getInnerQuery() {
+    return delegate;
   }
-  // ======================= END ===========================
 }