From 87b389e04598c46189cc63694f3b675a2616f7d8 Mon Sep 17 00:00:00 2001 From: zhangliang Date: Thu, 25 Jan 2024 22:10:04 +0800 Subject: [PATCH] Refactor DatabaseAwareQueryableRALExecutor --- .../query/aware/DatabaseAwareQueryableRALExecutor.java | 6 +++--- .../handler/distsql/ral/QueryableRALBackendHandler.java | 2 +- .../queryable/ExportDatabaseConfigurationExecutor.java | 8 ++++---- .../distsql/ral/queryable/ShowTableMetaDataExecutor.java | 8 ++++---- .../ExportDatabaseConfigurationExecutorTest.java | 4 ++-- .../ral/queryable/ShowTableMetaDataExecutorTest.java | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/query/aware/DatabaseAwareQueryableRALExecutor.java b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/query/aware/DatabaseAwareQueryableRALExecutor.java index ce17a07b73c82..aced4c2331ed5 100644 --- a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/query/aware/DatabaseAwareQueryableRALExecutor.java +++ b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/type/ral/query/aware/DatabaseAwareQueryableRALExecutor.java @@ -29,9 +29,9 @@ public interface DatabaseAwareQueryableRALExecutor extends QueryableRALExecutor { /** - * Set current database. + * Set database. * - * @param currentDatabase current database + * @param database database */ - void setCurrentDatabase(ShardingSphereDatabase currentDatabase); + void setDatabase(ShardingSphereDatabase database); } diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandler.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandler.java index 2a9f290247d86..df3c613651c79 100644 --- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandler.java +++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/QueryableRALBackendHandler.java @@ -74,7 +74,7 @@ private MergedResult getMergedResult(final QueryableRALExecutor executor) { ((InstanceContextAwareQueryableRALExecutor) executor).setInstanceContext(ProxyContext.getInstance().getContextManager().getInstanceContext()); } if (executor instanceof DatabaseAwareQueryableRALExecutor) { - ((DatabaseAwareQueryableRALExecutor) executor).setCurrentDatabase(ProxyContext.getInstance().getDatabase(DatabaseNameUtils.getDatabaseName(sqlStatement, connectionSession))); + ((DatabaseAwareQueryableRALExecutor) executor).setDatabase(ProxyContext.getInstance().getDatabase(DatabaseNameUtils.getDatabaseName(sqlStatement, connectionSession))); } if (executor instanceof ConnectionSizeAwareQueryableRALExecutor) { ((ConnectionSizeAwareQueryableRALExecutor) executor).setConnectionSize(connectionSession.getDatabaseConnectionManager().getConnectionSize()); diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutor.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutor.java index f76b3be9921ea..e489d4c1a26d3 100644 --- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutor.java +++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutor.java @@ -34,7 +34,7 @@ @Setter public final class ExportDatabaseConfigurationExecutor implements DatabaseAwareQueryableRALExecutor { - private ShardingSphereDatabase currentDatabase; + private ShardingSphereDatabase database; @Override public Collection getColumnNames() { @@ -43,7 +43,7 @@ public Collection getColumnNames() { @Override public Collection getRows(final ExportDatabaseConfigurationStatement sqlStatement, final ShardingSphereMetaData metaData) { - String exportedData = ExportUtils.generateExportDatabaseData(currentDatabase); + String exportedData = ExportUtils.generateExportDatabaseData(database); if (!sqlStatement.getFilePath().isPresent()) { return Collections.singleton(new LocalDataQueryResultRow(exportedData)); } @@ -53,8 +53,8 @@ public Collection getRows(final ExportDatabaseConfigura } @Override - public void setCurrentDatabase(final ShardingSphereDatabase currentDatabase) { - this.currentDatabase = currentDatabase; + public void setDatabase(final ShardingSphereDatabase database) { + this.database = database; } @Override diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutor.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutor.java index 9303f58cb3641..c66dd20317f3a 100644 --- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutor.java +++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutor.java @@ -41,7 +41,7 @@ @Setter public final class ShowTableMetaDataExecutor implements DatabaseAwareQueryableRALExecutor { - private ShardingSphereDatabase currentDatabase; + private ShardingSphereDatabase database; @Override public Collection getColumnNames() { @@ -50,10 +50,10 @@ public Collection getColumnNames() { @Override public Collection getRows(final ShowTableMetaDataStatement sqlStatement, final ShardingSphereMetaData metaData) { - String defaultSchema = new DatabaseTypeRegistry(currentDatabase.getProtocolType()).getDefaultSchemaName(currentDatabase.getName()); - ShardingSphereSchema schema = currentDatabase.getSchema(defaultSchema); + String defaultSchema = new DatabaseTypeRegistry(database.getProtocolType()).getDefaultSchemaName(database.getName()); + ShardingSphereSchema schema = database.getSchema(defaultSchema); return sqlStatement.getTableNames().stream().filter(each -> schema.getAllTableNames().contains(each.toLowerCase())) - .map(each -> buildTableRows(currentDatabase.getName(), schema, each.toLowerCase())).flatMap(Collection::stream).collect(Collectors.toList()); + .map(each -> buildTableRows(database.getName(), schema, each.toLowerCase())).flatMap(Collection::stream).collect(Collectors.toList()); } private Collection buildTableRows(final String databaseName, final ShardingSphereSchema schema, final String tableName) { diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java index a99c11c6774ec..7165d1b1708f6 100644 --- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java +++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ExportDatabaseConfigurationExecutorTest.java @@ -75,7 +75,7 @@ void assertExecute() { when(database.getResourceMetaData().getStorageUnits()).thenReturn(storageUnits); when(database.getRuleMetaData().getConfigurations()).thenReturn(Collections.singleton(createShardingRuleConfiguration())); ExportDatabaseConfigurationExecutor executor = new ExportDatabaseConfigurationExecutor(); - executor.setCurrentDatabase(database); + executor.setDatabase(database); Collection actual = executor.getRows(new ExportDatabaseConfigurationStatement(mock(DatabaseSegment.class), null), mock(ShardingSphereMetaData.class)); assertThat(actual.size(), is(1)); LocalDataQueryResultRow row = actual.iterator().next(); @@ -101,7 +101,7 @@ void assertExecuteWithEmptyDatabase() { when(database.getRuleMetaData().getConfigurations()).thenReturn(Collections.emptyList()); ExportDatabaseConfigurationStatement sqlStatement = new ExportDatabaseConfigurationStatement(new DatabaseSegment(0, 0, new IdentifierValue("empty_db")), null); ExportDatabaseConfigurationExecutor executor = new ExportDatabaseConfigurationExecutor(); - executor.setCurrentDatabase(database); + executor.setDatabase(database); Collection actual = executor.getRows(sqlStatement, mock(ShardingSphereMetaData.class)); assertThat(actual.size(), is(1)); LocalDataQueryResultRow row = actual.iterator().next(); diff --git a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutorTest.java b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutorTest.java index 504d0bd0e425a..22431885c7675 100644 --- a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutorTest.java +++ b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ShowTableMetaDataExecutorTest.java @@ -55,7 +55,7 @@ class ShowTableMetaDataExecutorTest { void assertExecute() { ShardingSphereDatabase database = mockDatabase(); ShowTableMetaDataExecutor executor = new ShowTableMetaDataExecutor(); - executor.setCurrentDatabase(database); + executor.setDatabase(database); Collection actual = executor.getRows(createSqlStatement(), mock(ShardingSphereMetaData.class)); assertThat(actual.size(), is(2)); Iterator iterator = actual.iterator();