You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2021/03/12 11:12:55 UTC
[shardingsphere] branch master updated: Remove useless judge of
empty column metadata (#9650)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 55e533b Remove useless judge of empty column metadata (#9650)
55e533b is described below
commit 55e533bffe186bc0d829d55dca40e045a7f7ab11
Author: Liang Zhang <te...@163.com>
AuthorDate: Fri Mar 12 19:12:23 2021 +0800
Remove useless judge of empty column metadata (#9650)
* Update powered by docs
* Remove useless judge of empty column metadata
---
.../core/resultset/ShardingSphereResultSetMetaData.java | 7 +------
.../jdbc/core/statement/ShardingSphereStatement.java | 16 ++++++++--------
.../communication/DatabaseCommunicationEngine.java | 7 +------
3 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
index 29ea1fd..e73f887 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/resultset/ShardingSphereResultSetMetaData.java
@@ -113,12 +113,7 @@ public final class ShardingSphereResultSetMetaData extends WrapperAdapter implem
}
private boolean hasSelectExpandProjections() {
- return sqlStatementContext instanceof SelectStatementContext
- && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty() && containAllTablesWithColumnMetaData(sqlStatementContext);
- }
-
- private boolean containAllTablesWithColumnMetaData(final SQLStatementContext<?> sqlStatementContext) {
- return sqlStatementContext.getTablesContext().getTableNames().stream().noneMatch(each -> shardingSphereMetaData.getSchema().getAllColumnNames(each).isEmpty());
+ return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
}
@Override
diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 4a81496..e8f7e3d 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -117,7 +117,7 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
@Getter(AccessLevel.PROTECTED)
private CalciteExecutor calciteExecutor;
-
+
public ShardingSphereStatement(final ShardingSphereConnection connection) {
this(connection, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
}
@@ -388,13 +388,6 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
return driverJDBCExecutor.execute(executionGroupContext, sqlStatement, routeUnits, jdbcExecutorCallback);
}
- private ExecutionContext createExecutionContext(final String sql) throws SQLException {
- clearStatements();
- LogicSQL logicSQL = createLogicSQL(sql);
- SQLCheckEngine.check(logicSQL.getSqlStatementContext().getSqlStatement(), logicSQL.getParameters(), metaDataContexts.getDefaultMetaData(), metaDataContexts.getAuthentication());
- return kernelProcessor.generateExecutionContext(logicSQL, metaDataContexts.getDefaultMetaData(), metaDataContexts.getProps());
- }
-
private void clearStatements() throws SQLException {
for (Statement each : statements) {
each.close();
@@ -411,6 +404,13 @@ public final class ShardingSphereStatement extends AbstractStatementAdapter {
return new LogicSQL(sqlStatementContext, sql, Collections.emptyList());
}
+ private ExecutionContext createExecutionContext(final String sql) throws SQLException {
+ clearStatements();
+ LogicSQL logicSQL = createLogicSQL(sql);
+ SQLCheckEngine.check(logicSQL.getSqlStatementContext().getSqlStatement(), logicSQL.getParameters(), metaDataContexts.getDefaultMetaData(), metaDataContexts.getAuthentication());
+ return kernelProcessor.generateExecutionContext(logicSQL, metaDataContexts.getDefaultMetaData(), metaDataContexts.getProps());
+ }
+
private ExecutionGroupContext<JDBCExecutionUnit> createExecutionContext() throws SQLException {
int maxConnectionsSizePerQuery = metaDataContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection> prepareEngine = new DriverExecutionPrepareEngine<>(
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
index 3fa94a9..07136fa 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/DatabaseCommunicationEngine.java
@@ -167,12 +167,7 @@ public final class DatabaseCommunicationEngine {
}
private boolean hasSelectExpandProjections(final SQLStatementContext<?> sqlStatementContext) {
- return sqlStatementContext instanceof SelectStatementContext
- && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty() && containAllTablesWithColumnMetaData(sqlStatementContext);
- }
-
- private boolean containAllTablesWithColumnMetaData(final SQLStatementContext<?> sqlStatementContext) {
- return sqlStatementContext.getTablesContext().getTableNames().stream().noneMatch(each -> metaData.getSchema().getAllColumnNames(each).isEmpty());
+ return sqlStatementContext instanceof SelectStatementContext && !((SelectStatementContext) sqlStatementContext).getProjectionsContext().getExpandProjections().isEmpty();
}
private MergedResult mergeQuery(final SQLStatementContext<?> sqlStatementContext, final List<QueryResult> queryResults) throws SQLException {