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