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 8bb1c561593 Throw necessary exception for 
MetaDataManagerPersistService (#32441)
8bb1c561593 is described below

commit 8bb1c561593fe768917f0224807d3253df7f05b6
Author: Haoran Meng <[email protected]>
AuthorDate: Fri Aug 9 16:12:44 2024 +0800

    Throw necessary exception for MetaDataManagerPersistService (#32441)
---
 .../type/schema/AlterSchemaStatementSchemaRefresher.java         | 3 ++-
 .../mode/persist/service/MetaDataManagerPersistService.java      | 9 ++++++---
 .../backend/handler/database/DropDatabaseBackendHandler.java     | 4 +++-
 .../handler/distsql/ral/updatable/ImportMetaDataExecutor.java    | 2 +-
 .../backend/util/YamlDatabaseConfigurationImportExecutor.java    | 7 ++++---
 .../backend/handler/database/DropDatabaseBackendHandlerTest.java | 7 ++++---
 6 files changed, 20 insertions(+), 12 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
index 7353df18fd7..230c291c590 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
@@ -25,6 +25,7 @@ import 
org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher;
 import 
org.apache.shardingsphere.mode.persist.service.MetaDataManagerPersistService;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.AlterSchemaStatement;
 
+import java.sql.SQLException;
 import java.util.Collection;
 import java.util.Optional;
 
@@ -35,7 +36,7 @@ public final class AlterSchemaStatementSchemaRefresher 
implements MetaDataRefres
     
     @Override
     public void refresh(final MetaDataManagerPersistService 
metaDataManagerPersistService, final ShardingSphereDatabase database, final 
Collection<String> logicDataSourceNames,
-                        final String schemaName, final DatabaseType 
databaseType, final AlterSchemaStatement sqlStatement, final 
ConfigurationProperties props) {
+                        final String schemaName, final DatabaseType 
databaseType, final AlterSchemaStatement sqlStatement, final 
ConfigurationProperties props) throws SQLException {
         Optional<String> renameSchemaName = 
sqlStatement.getRenameSchema().map(optional -> 
optional.getValue().toLowerCase());
         if (!renameSchemaName.isPresent()) {
             return;
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java
index eb1cbe35954..8364cf5f5a6 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/persist/service/MetaDataManagerPersistService.java
@@ -37,15 +37,17 @@ public interface MetaDataManagerPersistService {
      * Create database.
      *
      * @param databaseName database name
+     * @throws SQLException SQL exception
      */
-    void createDatabase(String databaseName);
+    void createDatabase(String databaseName) throws SQLException;
     
     /**
      * Drop database.
      *
      * @param databaseName database name
+     * @throws SQLException SQL exception
      */
-    void dropDatabase(String databaseName);
+    void dropDatabase(String databaseName) throws SQLException;
     
     /**
      * Create schema.
@@ -59,8 +61,9 @@ public interface MetaDataManagerPersistService {
      * Alter schema.
      *
      * @param alterSchemaPOJO alter schema pojo
+     * @throws SQLException SQL exception
      */
-    void alterSchema(AlterSchemaPOJO alterSchemaPOJO);
+    void alterSchema(AlterSchemaPOJO alterSchemaPOJO) throws SQLException;
     
     /**
      * Drop schema.
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
index a2b57338c49..3d80f30a58e 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
@@ -34,6 +34,8 @@ import 
org.apache.shardingsphere.proxy.backend.response.header.update.UpdateResp
 import org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.ddl.DropDatabaseStatement;
 
+import java.sql.SQLException;
+
 /**
  * Drop database backend handler.
  */
@@ -45,7 +47,7 @@ public final class DropDatabaseBackendHandler implements 
ProxyBackendHandler {
     private final ConnectionSession connectionSession;
     
     @Override
-    public ResponseHeader execute() {
+    public ResponseHeader execute() throws SQLException {
         check(sqlStatement, 
connectionSession.getConnectionContext().getGrantee());
         if (isDropCurrentDatabase(sqlStatement.getDatabaseName())) {
             checkSupportedDropCurrentDatabase(connectionSession);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
index ea6567a6043..31e22a82216 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/ImportMetaDataExecutor.java
@@ -77,7 +77,7 @@ public final class ImportMetaDataExecutor implements 
DistSQLUpdateExecutor<Impor
         
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().alterProperties(yamlServerConfig.getProps());
     }
     
-    private void importDatabase(final ExportedMetaData exportedMetaData) {
+    private void importDatabase(final ExportedMetaData exportedMetaData) 
throws SQLException {
         for (String each : exportedMetaData.getDatabases().values()) {
             YamlProxyDatabaseConfiguration yamlDatabaseConfig = 
YamlEngine.unmarshal(each, YamlProxyDatabaseConfiguration.class);
             
databaseConfigImportExecutor.importDatabaseConfiguration(yamlDatabaseConfig);
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
index 2f2b4201e36..d21bc274586 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/YamlDatabaseConfigurationImportExecutor.java
@@ -71,8 +71,9 @@ public final class YamlDatabaseConfigurationImportExecutor {
      * Import proxy database from yaml configuration.
      *
      * @param yamlConfig yaml proxy database configuration
+     * @throws SQLException SQL exception
      */
-    public void importDatabaseConfiguration(final 
YamlProxyDatabaseConfiguration yamlConfig) {
+    public void importDatabaseConfiguration(final 
YamlProxyDatabaseConfiguration yamlConfig) throws SQLException {
         String databaseName = yamlConfig.getDatabaseName();
         checkDatabase(databaseName);
         addDatabase(databaseName);
@@ -93,7 +94,7 @@ public final class YamlDatabaseConfigurationImportExecutor {
         
ShardingSpherePreconditions.checkState(!ProxyContext.getInstance().databaseExists(databaseName),
 () -> new DatabaseCreateExistsException(databaseName));
     }
     
-    private void addDatabase(final String databaseName) {
+    private void addDatabase(final String databaseName) throws SQLException {
         ContextManager contextManager = 
ProxyContext.getInstance().getContextManager();
         
contextManager.getPersistServiceFacade().getMetaDataManagerPersistService().createDatabase(databaseName);
         DatabaseType protocolType = 
DatabaseTypeEngine.getProtocolType(Collections.emptyMap(), 
contextManager.getMetaDataContexts().getMetaData().getProps());
@@ -156,7 +157,7 @@ public final class YamlDatabaseConfigurationImportExecutor {
         return result;
     }
     
-    private void dropDatabase(final String databaseName) {
+    private void dropDatabase(final String databaseName) throws SQLException {
         
ProxyContext.getInstance().getContextManager().getPersistServiceFacade().getMetaDataManagerPersistService().dropDatabase(databaseName);
     }
 }
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandlerTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandlerTest.java
index 08d448f99a7..ff24b8c44e2 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandlerTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandlerTest.java
@@ -40,6 +40,7 @@ import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoSettings;
 import org.mockito.quality.Strictness;
 
+import java.sql.SQLException;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -107,7 +108,7 @@ class DropDatabaseBackendHandlerTest {
     }
     
     @Test
-    void assertExecuteDropWithoutCurrentDatabase() {
+    void assertExecuteDropWithoutCurrentDatabase() throws SQLException {
         when(sqlStatement.getDatabaseName()).thenReturn("foo_db");
         ResponseHeader responseHeader = handler.execute();
         verify(connectionSession, times(0)).setCurrentDatabaseName(null);
@@ -115,7 +116,7 @@ class DropDatabaseBackendHandlerTest {
     }
     
     @Test
-    void assertExecuteDropCurrentDatabaseWithMySQL() {
+    void assertExecuteDropCurrentDatabaseWithMySQL() throws SQLException {
         when(connectionSession.getUsedDatabaseName()).thenReturn("foo_db");
         
when(connectionSession.getProtocolType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
 "MySQL"));
         when(sqlStatement.getDatabaseName()).thenReturn("foo_db");
@@ -133,7 +134,7 @@ class DropDatabaseBackendHandlerTest {
     }
     
     @Test
-    void assertExecuteDropOtherDatabase() {
+    void assertExecuteDropOtherDatabase() throws SQLException {
         when(connectionSession.getUsedDatabaseName()).thenReturn("foo_db");
         when(sqlStatement.getDatabaseName()).thenReturn("bar_db");
         ResponseHeader responseHeader = handler.execute();

Reply via email to