This is an automated email from the ASF dual-hosted git repository.
chenjiahao 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 835b0554bc5 Restore original databaseName in connectionSession after
unicast (#29501)
835b0554bc5 is described below
commit 835b0554bc599114d237884d32a9073932b70589
Author: Raigor <[email protected]>
AuthorDate: Fri Dec 22 14:17:20 2023 +0800
Restore original databaseName in connectionSession after unicast (#29501)
---
.../handler/data/impl/UnicastDatabaseBackendHandler.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
index e992f4481e4..6bcec191e2f 100644
---
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
+++
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/data/impl/UnicastDatabaseBackendHandler.java
@@ -53,15 +53,15 @@ public final class UnicastDatabaseBackendHandler implements
DatabaseBackendHandl
@Override
public ResponseHeader execute() throws SQLException {
- String originDatabase = connectionSession.getDefaultDatabaseName();
- String databaseName = null == originDatabase ? getFirstDatabaseName()
: originDatabase;
-
ShardingSpherePreconditions.checkState(ProxyContext.getInstance().getDatabase(databaseName).containsDataSource(),
() -> new StorageUnitNotExistedException(databaseName));
+ String originalDatabaseName =
connectionSession.getDefaultDatabaseName();
+ String unicastDatabaseName = null == originalDatabaseName ?
getFirstDatabaseName() : originalDatabaseName;
+
ShardingSpherePreconditions.checkState(ProxyContext.getInstance().getDatabase(unicastDatabaseName).containsDataSource(),
() -> new StorageUnitNotExistedException(unicastDatabaseName));
try {
- connectionSession.setCurrentDatabase(databaseName);
+ connectionSession.setCurrentDatabase(unicastDatabaseName);
databaseConnector =
databaseConnectorFactory.newInstance(queryContext,
connectionSession.getDatabaseConnectionManager(), false);
return databaseConnector.execute();
} finally {
- connectionSession.setCurrentDatabase(databaseName);
+ connectionSession.setCurrentDatabase(originalDatabaseName);
}
}