This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 a9692693725 resolve getConnection error (#21134)
a9692693725 is described below
commit a96926937258d6a351cd293a539c32d1393c4619
Author: natehuang <[email protected]>
AuthorDate: Fri Sep 23 11:53:25 2022 +0800
resolve getConnection error (#21134)
---
.../communication/jdbc/connection/JDBCBackendConnection.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/JDBCBackendConnection.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/JDBCBackendConnection.java
index 8a09412f082..ba5260f66f2 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/JDBCBackendConnection.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/jdbc/connection/JDBCBackendConnection.java
@@ -70,7 +70,7 @@ public final class JDBCBackendConnection implements
BackendConnection<Void>, Exe
Preconditions.checkNotNull(connectionSession.getDatabaseName(),
"Current database name is null.");
Collection<Connection> connections;
synchronized (cachedConnections) {
- connections =
cachedConnections.get(connectionSession.getDatabaseName() + "." +
dataSourceName);
+ connections =
cachedConnections.get(connectionSession.getDatabaseName().toLowerCase() + "." +
dataSourceName);
}
List<Connection> result;
if (connections.size() >= connectionSize) {
@@ -81,19 +81,19 @@ public final class JDBCBackendConnection implements
BackendConnection<Void>, Exe
List<Connection> newConnections =
createNewConnections(dataSourceName, connectionSize - connections.size(),
connectionMode);
result.addAll(newConnections);
synchronized (cachedConnections) {
- cachedConnections.putAll(connectionSession.getDatabaseName() +
"." + dataSourceName, newConnections);
+
cachedConnections.putAll(connectionSession.getDatabaseName().toLowerCase() +
"." + dataSourceName, newConnections);
}
} else {
result = createNewConnections(dataSourceName, connectionSize,
connectionMode);
synchronized (cachedConnections) {
- cachedConnections.putAll(connectionSession.getDatabaseName() +
"." + dataSourceName, result);
+
cachedConnections.putAll(connectionSession.getDatabaseName().toLowerCase() +
"." + dataSourceName, result);
}
}
return result;
}
private List<Connection> createNewConnections(final String dataSourceName,
final int connectionSize, final ConnectionMode connectionMode) throws
SQLException {
- List<Connection> result =
ProxyContext.getInstance().getBackendDataSource().getConnections(connectionSession.getDatabaseName(),
dataSourceName, connectionSize, connectionMode);
+ List<Connection> result =
ProxyContext.getInstance().getBackendDataSource().getConnections(connectionSession.getDatabaseName().toLowerCase(),
dataSourceName, connectionSize, connectionMode);
setSessionVariablesIfNecessary(result);
for (Connection each : result) {
replayTransactionOption(each);
@@ -157,7 +157,7 @@ public final class JDBCBackendConnection implements
BackendConnection<Void>, Exe
@Override
public Collection<String> getDataSourceNamesOfCachedConnections() {
Collection<String> result = new ArrayList<>(cachedConnections.size());
- String databaseName = connectionSession.getDatabaseName();
+ String databaseName =
connectionSession.getDatabaseName().toLowerCase();
for (String each : cachedConnections.keySet()) {
String[] split = each.split("\\.", 2);
String cachedDatabaseName = split[0];