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

sunnianjun 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 6de521cdea5 Refactor ProxyContext (#29693)
6de521cdea5 is described below

commit 6de521cdea57c7958d084d925d69e7efc8eb8103
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jan 10 22:11:43 2024 +0800

    Refactor ProxyContext (#29693)
    
    * Refactor ProxyContext
    
    * Fix test case
---
 .../org/apache/shardingsphere/proxy/backend/context/ProxyContext.java | 4 +++-
 .../apache/shardingsphere/proxy/backend/context/ProxyContextTest.java | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
index d468ed0cff4..e77add0397f 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/context/ProxyContext.java
@@ -22,6 +22,7 @@ import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.NoDatabaseSelectedException;
+import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.UnknownDatabaseException;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.state.instance.InstanceStateContext;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
@@ -80,7 +81,8 @@ public final class ProxyContext {
      * @return got database
      */
     public ShardingSphereDatabase getDatabase(final String name) {
-        ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(name) && 
contextManager.getMetaDataContexts().getMetaData().containsDatabase(name), 
NoDatabaseSelectedException::new);
+        ShardingSpherePreconditions.checkState(!Strings.isNullOrEmpty(name), 
NoDatabaseSelectedException::new);
+        
ShardingSpherePreconditions.checkState(contextManager.getMetaDataContexts().getMetaData().containsDatabase(name),
 () -> new UnknownDatabaseException(name));
         return 
contextManager.getMetaDataContexts().getMetaData().getDatabase(name);
     }
     
diff --git 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
index 2812ba9d9c6..9cb84d0edb7 100644
--- 
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
+++ 
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/context/ProxyContextTest.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.proxy.backend.context;
 import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.NoDatabaseSelectedException;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
+import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.UnknownDatabaseException;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -109,7 +110,7 @@ class ProxyContextTest {
                 new ShardingSphereMetaData(databases, 
mock(ResourceMetaData.class), mock(RuleMetaData.class), new 
ConfigurationProperties(new Properties())));
         
when(contextManager.getMetaDataContexts()).thenReturn(metaDataContexts);
         ProxyContext.init(contextManager);
-        assertThrows(NoDatabaseSelectedException.class, () -> 
ProxyContext.getInstance().getDatabase("db1"));
+        assertThrows(UnknownDatabaseException.class, () -> 
ProxyContext.getInstance().getDatabase("db1"));
     }
     
     @Test

Reply via email to