You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2020/05/06 09:02:23 UTC

[lucene-solr] branch jira/solr-14423 updated: SOLR-14423: Move the wrapper class to top-level. Fix precommit issues.

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

ab pushed a commit to branch jira/solr-14423
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/jira/solr-14423 by this push:
     new 1bc6a9a  SOLR-14423: Move the wrapper class to top-level. Fix precommit issues.
1bc6a9a is described below

commit 1bc6a9ad26f0b0145a1d416596969f63b9cad222
Author: Andrzej Bialecki <ab...@apache.org>
AuthorDate: Wed May 6 11:01:20 2020 +0200

    SOLR-14423: Move the wrapper class to top-level. Fix precommit issues.
---
 .../org/apache/solr/handler/StreamHandler.java     |   1 -
 .../solr/handler/sql/CalciteConnectionWrapper.java | 378 +++++++++++++++++++++
 .../apache/solr/handler/sql/CalciteSolrDriver.java | 365 +-------------------
 .../org/apache/solr/handler/sql/SolrTable.java     |   1 -
 4 files changed, 386 insertions(+), 359 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/handler/StreamHandler.java b/solr/core/src/java/org/apache/solr/handler/StreamHandler.java
index 2507692..8c6af43 100644
--- a/solr/core/src/java/org/apache/solr/handler/StreamHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/StreamHandler.java
@@ -53,7 +53,6 @@ import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.core.CloseHook;
 import org.apache.solr.core.CoreContainer;
 import org.apache.solr.core.PluginInfo;
 import org.apache.solr.core.SolrConfig;
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/CalciteConnectionWrapper.java b/solr/core/src/java/org/apache/solr/handler/sql/CalciteConnectionWrapper.java
new file mode 100644
index 0000000..cd102b6
--- /dev/null
+++ b/solr/core/src/java/org/apache/solr/handler/sql/CalciteConnectionWrapper.java
@@ -0,0 +1,378 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.handler.sql;
+
+import java.lang.reflect.Type;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.DatabaseMetaData;
+import java.sql.NClob;
+import java.sql.PreparedStatement;
+import java.sql.SQLClientInfoException;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Savepoint;
+import java.sql.Statement;
+import java.sql.Struct;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Executor;
+
+import org.apache.calcite.adapter.java.JavaTypeFactory;
+import org.apache.calcite.config.CalciteConnectionConfig;
+import org.apache.calcite.jdbc.CalciteConnection;
+import org.apache.calcite.jdbc.CalcitePrepare;
+import org.apache.calcite.linq4j.Enumerator;
+import org.apache.calcite.linq4j.Queryable;
+import org.apache.calcite.linq4j.tree.Expression;
+import org.apache.calcite.schema.SchemaPlus;
+
+/**
+ * A wrapper that allows adding pre- post-method behaviors to
+ * {@link CalciteConnection}.
+ */
+class CalciteConnectionWrapper implements CalciteConnection {
+
+  protected final CalciteConnection delegate;
+
+  CalciteConnectionWrapper(CalciteConnection delegate) {
+    this.delegate = delegate;
+  }
+
+  @Override
+  public SchemaPlus getRootSchema() {
+    return delegate.getRootSchema();
+  }
+
+  @Override
+  public JavaTypeFactory getTypeFactory() {
+    return delegate.getTypeFactory();
+  }
+
+  @Override
+  public Properties getProperties() {
+    return delegate.getProperties();
+  }
+
+  @Override
+  public Statement createStatement() throws SQLException {
+    return delegate.createStatement();
+  }
+
+  @Override
+  public PreparedStatement prepareStatement(String sql) throws SQLException {
+    return delegate.prepareStatement(sql);
+  }
+
+  @Override
+  public CallableStatement prepareCall(String sql) throws SQLException {
+    return delegate.prepareCall(sql);
+  }
+
+  @Override
+  public String nativeSQL(String sql) throws SQLException {
+    return delegate.nativeSQL(sql);
+  }
+
+  @Override
+  public void setAutoCommit(boolean autoCommit) throws SQLException {
+    delegate.setAutoCommit(autoCommit);
+  }
+
+  @Override
+  public boolean getAutoCommit() throws SQLException {
+    return delegate.getAutoCommit();
+  }
+
+  @Override
+  public void commit() throws SQLException {
+    delegate.commit();
+  }
+
+  @Override
+  public void rollback() throws SQLException {
+    delegate.rollback();
+  }
+
+  @Override
+  public void close() throws SQLException {
+    delegate.close();
+  }
+
+  @Override
+  public boolean isClosed() throws SQLException {
+    return delegate.isClosed();
+  }
+
+  @Override
+  public DatabaseMetaData getMetaData() throws SQLException {
+    return delegate.getMetaData();
+  }
+
+  @Override
+  public void setReadOnly(boolean readOnly) throws SQLException {
+    delegate.setReadOnly(readOnly);
+  }
+
+  @Override
+  public boolean isReadOnly() throws SQLException {
+    return delegate.isReadOnly();
+  }
+
+  @Override
+  public void setCatalog(String catalog) throws SQLException {
+    delegate.setCatalog(catalog);
+  }
+
+  @Override
+  public String getCatalog() throws SQLException {
+    return delegate.getCatalog();
+  }
+
+  @Override
+  public void setTransactionIsolation(int level) throws SQLException {
+    delegate.setTransactionIsolation(level);
+  }
+
+  @Override
+  public int getTransactionIsolation() throws SQLException {
+    return delegate.getTransactionIsolation();
+  }
+
+  @Override
+  public SQLWarning getWarnings() throws SQLException {
+    return delegate.getWarnings();
+  }
+
+  @Override
+  public void clearWarnings() throws SQLException {
+    delegate.clearWarnings();
+  }
+
+  @Override
+  public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
+    return delegate.createStatement(resultSetType, resultSetConcurrency);
+  }
+
+  @Override
+  public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+    return delegate.prepareStatement(sql, resultSetType, resultSetConcurrency);
+  }
+
+  @Override
+  public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+    return delegate.prepareCall(sql, resultSetType, resultSetConcurrency);
+  }
+
+  @Override
+  public Map<String, Class<?>> getTypeMap() throws SQLException {
+    return delegate.getTypeMap();
+  }
+
+  @Override
+  public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
+    delegate.setTypeMap(map);
+  }
+
+  @Override
+  public void setHoldability(int holdability) throws SQLException {
+    delegate.setHoldability(holdability);
+  }
+
+  @Override
+  public int getHoldability() throws SQLException {
+    return delegate.getHoldability();
+  }
+
+  @Override
+  public Savepoint setSavepoint() throws SQLException {
+    return delegate.setSavepoint();
+  }
+
+  @Override
+  public Savepoint setSavepoint(String name) throws SQLException {
+    return delegate.setSavepoint(name);
+  }
+
+  @Override
+  public void rollback(Savepoint savepoint) throws SQLException {
+    delegate.rollback(savepoint);
+  }
+
+  @Override
+  public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+    delegate.releaseSavepoint(savepoint);
+  }
+
+  @Override
+  public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+    return delegate.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
+  }
+
+  @Override
+  public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+    return delegate.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+  }
+
+  @Override
+  public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+    return delegate.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+  }
+
+  @Override
+  public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
+    return delegate.prepareStatement(sql, autoGeneratedKeys);
+  }
+
+  @Override
+  public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
+    return delegate.prepareStatement(sql, columnIndexes);
+  }
+
+  @Override
+  public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
+    return delegate.prepareStatement(sql, columnNames);
+  }
+
+  @Override
+  public Clob createClob() throws SQLException {
+    return delegate.createClob();
+  }
+
+  @Override
+  public Blob createBlob() throws SQLException {
+    return delegate.createBlob();
+  }
+
+  @Override
+  public NClob createNClob() throws SQLException {
+    return delegate.createNClob();
+  }
+
+  @Override
+  public SQLXML createSQLXML() throws SQLException {
+    return delegate.createSQLXML();
+  }
+
+  @Override
+  public boolean isValid(int timeout) throws SQLException {
+    return delegate.isValid(timeout);
+  }
+
+  @Override
+  public void setClientInfo(String name, String value) throws SQLClientInfoException {
+    delegate.setClientInfo(name, value);
+  }
+
+  @Override
+  public void setClientInfo(Properties properties) throws SQLClientInfoException {
+    delegate.setClientInfo(properties);
+  }
+
+  @Override
+  public String getClientInfo(String name) throws SQLException {
+    return delegate.getClientInfo(name);
+  }
+
+  @Override
+  public Properties getClientInfo() throws SQLException {
+    return delegate.getClientInfo();
+  }
+
+  @Override
+  public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
+    return delegate.createArrayOf(typeName, elements);
+  }
+
+  @Override
+  public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
+    return delegate.createStruct(typeName, attributes);
+  }
+
+  @Override
+  public void setSchema(String schema) throws SQLException {
+    delegate.setSchema(schema);
+  }
+
+  @Override
+  public String getSchema() throws SQLException {
+    return delegate.getSchema();
+  }
+
+  @Override
+  public void abort(Executor executor) throws SQLException {
+    delegate.abort(executor);
+  }
+
+  @Override
+  public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
+    delegate.setNetworkTimeout(executor, milliseconds);
+  }
+
+  @Override
+  public int getNetworkTimeout() throws SQLException {
+    return delegate.getNetworkTimeout();
+  }
+
+  @Override
+  public CalciteConnectionConfig config() {
+    return delegate.config();
+  }
+
+  @Override
+  public CalcitePrepare.Context createPrepareContext() {
+    return delegate.createPrepareContext();
+  }
+
+  @Override
+  public <T> T unwrap(Class<T> iface) throws SQLException {
+    return delegate.unwrap(iface);
+  }
+
+  @Override
+  public boolean isWrapperFor(Class<?> iface) throws SQLException {
+    return delegate.isWrapperFor(iface);
+  }
+
+  @Override
+  public <T> Queryable<T> createQuery(Expression expression, Class<T> aClass) {
+    return delegate.createQuery(expression, aClass);
+  }
+
+  @Override
+  public <T> Queryable<T> createQuery(Expression expression, Type type) {
+    return delegate.createQuery(expression, type);
+  }
+
+  @Override
+  public <T> T execute(Expression expression, Class<T> aClass) {
+    return delegate.execute(expression, aClass);
+  }
+
+  @Override
+  public <T> T execute(Expression expression, Type type) {
+    return delegate.execute(expression, type);
+  }
+
+  @Override
+  public <T> Enumerator<T> executeQuery(Queryable<T> queryable) {
+    return delegate.executeQuery(queryable);
+  }
+}
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java b/solr/core/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java
index 4ebe993..3a995f6 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/CalciteSolrDriver.java
@@ -16,35 +16,13 @@
  */
 package org.apache.solr.handler.sql;
 
-import org.apache.calcite.adapter.java.JavaTypeFactory;
-import org.apache.calcite.config.CalciteConnectionConfig;
 import org.apache.calcite.jdbc.CalciteConnection;
-import org.apache.calcite.jdbc.CalcitePrepare;
 import org.apache.calcite.jdbc.Driver;
-import org.apache.calcite.linq4j.Enumerator;
-import org.apache.calcite.linq4j.Queryable;
-import org.apache.calcite.linq4j.tree.Expression;
 import org.apache.calcite.schema.SchemaPlus;
 
-import java.lang.reflect.Type;
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
 import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.SQLClientInfoException;
 import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.sql.Struct;
-import java.util.Map;
 import java.util.Properties;
-import java.util.concurrent.Executor;
 
 /**
  * JDBC driver for Calcite Solr.
@@ -81,346 +59,19 @@ public class CalciteSolrDriver extends Driver {
     if(schemaName == null) {
       throw new SQLException("zk must be set");
     }
-    SolrSchema solrSchema = new SolrSchema(info);
+    final SolrSchema solrSchema = new SolrSchema(info);
     rootSchema.add(schemaName, solrSchema);
 
     // Set the default schema
     calciteConnection.setSchema(schemaName);
 
-    return new SolrCalciteConnectionWrapper(calciteConnection, solrSchema);
+    return new CalciteConnectionWrapper(calciteConnection) {
+      @Override
+      public void close() throws SQLException {
+        solrSchema.close();
+        super.close();
+      }
+    };
   }
 
-  // the sole purpose of this class is to be able to invoke SolrSchema.close()
-  // when the connection is closed.
-  private static final class SolrCalciteConnectionWrapper implements CalciteConnection {
-
-    private final CalciteConnection delegate;
-    private final SolrSchema schema;
-
-    SolrCalciteConnectionWrapper(CalciteConnection delegate, SolrSchema schema) {
-      this.delegate = delegate;
-      this.schema = schema;
-    }
-
-    @Override
-    public SchemaPlus getRootSchema() {
-      return delegate.getRootSchema();
-    }
-
-    @Override
-    public JavaTypeFactory getTypeFactory() {
-      return delegate.getTypeFactory();
-    }
-
-    @Override
-    public Properties getProperties() {
-      return delegate.getProperties();
-    }
-
-    @Override
-    public Statement createStatement() throws SQLException {
-      return delegate.createStatement();
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-      return delegate.prepareStatement(sql);
-    }
-
-    @Override
-    public CallableStatement prepareCall(String sql) throws SQLException {
-      return delegate.prepareCall(sql);
-    }
-
-    @Override
-    public String nativeSQL(String sql) throws SQLException {
-      return delegate.nativeSQL(sql);
-    }
-
-    @Override
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-      delegate.setAutoCommit(autoCommit);
-    }
-
-    @Override
-    public boolean getAutoCommit() throws SQLException {
-      return delegate.getAutoCommit();
-    }
-
-    @Override
-    public void commit() throws SQLException {
-      delegate.commit();
-    }
-
-    @Override
-    public void rollback() throws SQLException {
-      delegate.rollback();
-    }
-
-    @Override
-    public void close() throws SQLException {
-      schema.close();
-      delegate.close();
-    }
-
-    @Override
-    public boolean isClosed() throws SQLException {
-      return delegate.isClosed();
-    }
-
-    @Override
-    public DatabaseMetaData getMetaData() throws SQLException {
-      return delegate.getMetaData();
-    }
-
-    @Override
-    public void setReadOnly(boolean readOnly) throws SQLException {
-      delegate.setReadOnly(readOnly);
-    }
-
-    @Override
-    public boolean isReadOnly() throws SQLException {
-      return delegate.isReadOnly();
-    }
-
-    @Override
-    public void setCatalog(String catalog) throws SQLException {
-      delegate.setCatalog(catalog);
-    }
-
-    @Override
-    public String getCatalog() throws SQLException {
-      return delegate.getCatalog();
-    }
-
-    @Override
-    public void setTransactionIsolation(int level) throws SQLException {
-      delegate.setTransactionIsolation(level);
-    }
-
-    @Override
-    public int getTransactionIsolation() throws SQLException {
-      return delegate.getTransactionIsolation();
-    }
-
-    @Override
-    public SQLWarning getWarnings() throws SQLException {
-      return delegate.getWarnings();
-    }
-
-    @Override
-    public void clearWarnings() throws SQLException {
-      delegate.clearWarnings();
-    }
-
-    @Override
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-      return delegate.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
-      return delegate.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    @Override
-    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
-      return delegate.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    @Override
-    public Map<String, Class<?>> getTypeMap() throws SQLException {
-      return delegate.getTypeMap();
-    }
-
-    @Override
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-      delegate.setTypeMap(map);
-    }
-
-    @Override
-    public void setHoldability(int holdability) throws SQLException {
-      delegate.setHoldability(holdability);
-    }
-
-    @Override
-    public int getHoldability() throws SQLException {
-      return delegate.getHoldability();
-    }
-
-    @Override
-    public Savepoint setSavepoint() throws SQLException {
-      return delegate.setSavepoint();
-    }
-
-    @Override
-    public Savepoint setSavepoint(String name) throws SQLException {
-      return delegate.setSavepoint(name);
-    }
-
-    @Override
-    public void rollback(Savepoint savepoint) throws SQLException {
-      delegate.rollback(savepoint);
-    }
-
-    @Override
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-      delegate.releaseSavepoint(savepoint);
-    }
-
-    @Override
-    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-      return delegate.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-      return delegate.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-    }
-
-    @Override
-    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-      return delegate.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-      return delegate.prepareStatement(sql, autoGeneratedKeys);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-      return delegate.prepareStatement(sql, columnIndexes);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-      return delegate.prepareStatement(sql, columnNames);
-    }
-
-    @Override
-    public Clob createClob() throws SQLException {
-      return delegate.createClob();
-    }
-
-    @Override
-    public Blob createBlob() throws SQLException {
-      return delegate.createBlob();
-    }
-
-    @Override
-    public NClob createNClob() throws SQLException {
-      return delegate.createNClob();
-    }
-
-    @Override
-    public SQLXML createSQLXML() throws SQLException {
-      return delegate.createSQLXML();
-    }
-
-    @Override
-    public boolean isValid(int timeout) throws SQLException {
-      return delegate.isValid(timeout);
-    }
-
-    @Override
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-      delegate.setClientInfo(name, value);
-    }
-
-    @Override
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-      delegate.setClientInfo(properties);
-    }
-
-    @Override
-    public String getClientInfo(String name) throws SQLException {
-      return delegate.getClientInfo(name);
-    }
-
-    @Override
-    public Properties getClientInfo() throws SQLException {
-      return delegate.getClientInfo();
-    }
-
-    @Override
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-      return delegate.createArrayOf(typeName, elements);
-    }
-
-    @Override
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-      return delegate.createStruct(typeName, attributes);
-    }
-
-    @Override
-    public void setSchema(String schema) throws SQLException {
-      delegate.setSchema(schema);
-    }
-
-    @Override
-    public String getSchema() throws SQLException {
-      return delegate.getSchema();
-    }
-
-    @Override
-    public void abort(Executor executor) throws SQLException {
-      delegate.abort(executor);
-    }
-
-    @Override
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-      delegate.setNetworkTimeout(executor, milliseconds);
-    }
-
-    @Override
-    public int getNetworkTimeout() throws SQLException {
-      return delegate.getNetworkTimeout();
-    }
-
-    @Override
-    public CalciteConnectionConfig config() {
-      return delegate.config();
-    }
-
-    @Override
-    public CalcitePrepare.Context createPrepareContext() {
-      return delegate.createPrepareContext();
-    }
-
-    @Override
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-      return delegate.unwrap(iface);
-    }
-
-    @Override
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-      return delegate.isWrapperFor(iface);
-    }
-
-    @Override
-    public <T> Queryable<T> createQuery(Expression expression, Class<T> aClass) {
-      return delegate.createQuery(expression, aClass);
-    }
-
-    @Override
-    public <T> Queryable<T> createQuery(Expression expression, Type type) {
-      return delegate.createQuery(expression, type);
-    }
-
-    @Override
-    public <T> T execute(Expression expression, Class<T> aClass) {
-      return delegate.execute(expression, aClass);
-    }
-
-    @Override
-    public <T> T execute(Expression expression, Type type) {
-      return delegate.execute(expression, type);
-    }
-
-    @Override
-    public <T> Enumerator<T> executeQuery(Queryable<T> queryable) {
-      return delegate.executeQuery(queryable);
-    }
-  }
 }
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java
index f610bb5..66ee312 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java
@@ -51,7 +51,6 @@ import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
 import org.apache.solr.client.solrj.io.stream.metrics.*;
 import org.apache.solr.common.params.CommonParams;
 import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.handler.StreamHandler;
 
 import java.io.IOException;
 import java.util.*;