You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/04/06 06:59:34 UTC
[shardingsphere] branch master updated: Fix spotbugs issues in openGauss backend module (#25026)
This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 918503a8844 Fix spotbugs issues in openGauss backend module (#25026)
918503a8844 is described below
commit 918503a884450b9a5f2c59e733df046010a80bd7
Author: 吴伟杰 <wu...@apache.org>
AuthorDate: Thu Apr 6 14:59:27 2023 +0800
Fix spotbugs issues in openGauss backend module (#25026)
---
.../OpenGaussSystemCatalogAdminQueryExecutor.java | 26 +++++++++++++---------
src/resources/spotbugs.xml | 5 -----
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussSystemCatalogAdminQueryExecutor.java b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussSystemCatalogAdminQueryExecutor.java
index 1953a9f7b73..d8e3f034fa5 100644
--- a/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussSystemCatalogAdminQueryExecutor.java
+++ b/proxy/backend/type/opengauss/src/main/java/org/apache/shardingsphere/proxy/backend/opengauss/handler/admin/OpenGaussSystemCatalogAdminQueryExecutor.java
@@ -27,17 +27,18 @@ import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.dr
import org.apache.shardingsphere.infra.executor.sql.execute.result.query.impl.driver.jdbc.type.memory.JDBCMemoryQueryResult;
import org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.proxy.backend.context.ProxyContext;
-import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.proxy.backend.handler.admin.executor.DatabaseAdminQueryExecutor;
-import org.apache.shardingsphere.proxy.backend.opengauss.handler.admin.schema.OpenGaussSystemCatalog;
import org.apache.shardingsphere.proxy.backend.opengauss.handler.admin.schema.OpenGaussDatabase;
+import org.apache.shardingsphere.proxy.backend.opengauss.handler.admin.schema.OpenGaussSystemCatalog;
+import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
import org.apache.shardingsphere.sharding.merge.common.IteratorStreamMergedResult;
import org.apache.shardingsphere.sql.parser.sql.common.util.SQLUtils;
+import java.sql.Connection;
import java.sql.DriverManager;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.sql.Statement;
import java.util.Collection;
import java.util.Collections;
@@ -65,20 +66,25 @@ public final class OpenGaussSystemCatalogAdminQueryExecutor implements DatabaseA
@Override
public void execute(final ConnectionSession connectionSession) throws SQLException {
- try (CalciteConnection connection = DriverManager.getConnection("jdbc:calcite:caseSensitive=false").unwrap(CalciteConnection.class)) {
- connection.getRootSchema().add(PG_CATALOG, new ReflectiveSchema(constructOgCatalog()));
- connection.getRootSchema().add("version", ScalarFunctionImpl.create(getClass(), "version"));
- connection.getRootSchema().add("gs_password_deadline", ScalarFunctionImpl.create(getClass(), "gsPasswordDeadline"));
- connection.getRootSchema().add("intervaltonum", ScalarFunctionImpl.create(getClass(), "intervalToNum"));
- connection.getRootSchema().add("gs_password_notifyTime", ScalarFunctionImpl.create(getClass(), "gsPasswordNotifyTime"));
+ try (Connection connection = DriverManager.getConnection("jdbc:calcite:caseSensitive=false")) {
+ prepareCalciteConnection(connection);
connection.setSchema(PG_CATALOG);
- try (Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql)) {
+ try (PreparedStatement statement = connection.prepareStatement(sql); ResultSet resultSet = statement.executeQuery()) {
queryResultMetaData = new JDBCQueryResultMetaData(resultSet.getMetaData());
mergedResult = new IteratorStreamMergedResult(Collections.singletonList(new JDBCMemoryQueryResult(resultSet, connectionSession.getProtocolType())));
}
}
}
+ private void prepareCalciteConnection(final Connection connection) throws SQLException {
+ CalciteConnection calciteConnection = connection.unwrap(CalciteConnection.class);
+ calciteConnection.getRootSchema().add(PG_CATALOG, new ReflectiveSchema(constructOgCatalog()));
+ calciteConnection.getRootSchema().add("version", ScalarFunctionImpl.create(getClass(), "version"));
+ calciteConnection.getRootSchema().add("gs_password_deadline", ScalarFunctionImpl.create(getClass(), "gsPasswordDeadline"));
+ calciteConnection.getRootSchema().add("intervaltonum", ScalarFunctionImpl.create(getClass(), "intervalToNum"));
+ calciteConnection.getRootSchema().add("gs_password_notifyTime", ScalarFunctionImpl.create(getClass(), "gsPasswordNotifyTime"));
+ }
+
private OpenGaussSystemCatalog constructOgCatalog() {
Collection<String> allDatabaseNames = ProxyContext.getInstance().getAllDatabaseNames();
OpenGaussDatabase[] openGaussDatabases = new OpenGaussDatabase[allDatabaseNames.size()];
diff --git a/src/resources/spotbugs.xml b/src/resources/spotbugs.xml
index 5eff3a404c5..69e799e9c7c 100644
--- a/src/resources/spotbugs.xml
+++ b/src/resources/spotbugs.xml
@@ -115,9 +115,4 @@
<Class name="org.apache.shardingsphere.sqlfederation.original.OriginalSQLFederationExecutor" />
<Bug code="OBL" />
</Match>
- <!-- TODO weijie fix the ignored bug -->
- <Match>
- <Class name="org.apache.shardingsphere.proxy.backend.opengauss.handler.admin.OpenGaussSystemCatalogAdminQueryExecutor" />
- <Bug code="ODR" />
- </Match>
</FindBugsFilter>