This is an automated email from the ASF dual-hosted git repository.
menghaoranss 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 4f3a182b50e Merge contains and get database by name for QueryContext
(#38768)
4f3a182b50e is described below
commit 4f3a182b50e8b81984a342c272d5061bc5556ea5
Author: Haoran Meng <[email protected]>
AuthorDate: Tue Jun 2 10:43:39 2026 +0800
Merge contains and get database by name for QueryContext (#38768)
---
.../org/apache/shardingsphere/infra/session/query/QueryContext.java | 5 +++--
.../proxy/backend/connector/DatabaseProxyConnectorFactoryTest.java | 2 --
.../binary/prepare/MySQLPreparedStatementMetadataFactoryTest.java | 1 -
.../command/query/extended/bind/PostgreSQLComBindExecutorTest.java | 1 -
4 files changed, 3 insertions(+), 6 deletions(-)
diff --git
a/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
b/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
index 4067c7ffc21..3d780c5a85f 100644
---
a/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
+++
b/infra/session/src/main/java/org/apache/shardingsphere/infra/session/query/QueryContext.java
@@ -113,8 +113,9 @@ public final class QueryContext {
() -> new UnsupportedSQLOperationException(String.format("Can
not support multiple logic databases [%s]", Joiner.on(",
").join(usedDatabaseNames))));
ShardingSpherePreconditions.checkState(usedDatabaseNames.size() == 1,
NoDatabaseSelectedException::new);
String databaseName = usedDatabaseNames.iterator().next();
-
ShardingSpherePreconditions.checkState(metaData.containsDatabase(databaseName),
() -> new UnknownDatabaseException(databaseName));
- return metaData.getDatabase(databaseName);
+ ShardingSphereDatabase result = metaData.getDatabase(databaseName);
+ ShardingSpherePreconditions.checkState(null != result, () -> new
UnknownDatabaseException(databaseName));
+ return result;
}
/**
diff --git
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactoryTest.java
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactoryTest.java
index f9d79eee5ea..e574645dfaa 100644
---
a/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactoryTest.java
+++
b/proxy/backend/core/src/test/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseProxyConnectorFactoryTest.java
@@ -78,7 +78,6 @@ class DatabaseProxyConnectorFactoryTest {
when(sqlStatementContext.getSqlStatement().getDatabaseType()).thenReturn(databaseType);
ShardingSphereDatabase database = mockDatabase();
ShardingSphereMetaData metaData = mock(ShardingSphereMetaData.class);
- when(metaData.containsDatabase("foo_db")).thenReturn(true);
when(metaData.getDatabase("foo_db")).thenReturn(database);
QueryContext queryContext = new QueryContext(sqlStatementContext,
"schemaName", Collections.emptyList(), new HintValueContext(),
mockConnectionContext(), metaData);
ContextManager contextManager = mockContextManager(database);
@@ -102,7 +101,6 @@ class DatabaseProxyConnectorFactoryTest {
when(sqlStatementContext.getSqlStatement().getDatabaseType()).thenReturn(databaseType);
ShardingSphereDatabase database = mockDatabase();
ShardingSphereMetaData metaData = mock(ShardingSphereMetaData.class);
- when(metaData.containsDatabase("foo_db")).thenReturn(true);
when(metaData.getDatabase("foo_db")).thenReturn(database);
ContextManager contextManager = mockContextManager(database);
initBackendExecutorContext(contextManager);
diff --git
a/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLPreparedStatementMetadataFactoryTest.java
b/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLPreparedStatementMetadataFactoryTest.java
index 525eb614e98..f08a07d893b 100644
---
a/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLPreparedStatementMetadataFactoryTest.java
+++
b/proxy/frontend/dialect/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLPreparedStatementMetadataFactoryTest.java
@@ -131,7 +131,6 @@ class MySQLPreparedStatementMetadataFactoryTest {
mockMetaData();
ShardingSphereMetaData metaData =
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData();
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
- when(metaData.containsDatabase("foo_db")).thenReturn(true);
when(metaData.getDatabase("foo_db")).thenReturn(database);
when(database.getName()).thenReturn("foo_db");
}
diff --git
a/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
b/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
index 25348674ab2..6d1e186c8fd 100644
---
a/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
+++
b/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
@@ -184,7 +184,6 @@ class PostgreSQLComBindExecutorTest {
when(result.getMetaDataContexts().getMetaData().getProps()).thenReturn(new
ConfigurationProperties(new Properties()));
RuleMetaData globalRuleMetaData = new
RuleMetaData(Collections.singleton(new SQLTranslatorRule(new
DefaultSQLTranslatorRuleConfigurationBuilder().build())));
when(result.getMetaDataContexts().getMetaData().getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
-
when(result.getMetaDataContexts().getMetaData().containsDatabase(DATABASE_NAME)).thenReturn(true);
when(result.getMetaDataContexts().getMetaData().containsDatabase(new
IdentifierValue(DATABASE_NAME))).thenReturn(true);
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class,
RETURNS_DEEP_STUBS);
when(database.getProtocolType()).thenReturn(databaseType);