Skip to content

Commit 38b03a7

Browse files
authored
Merge pull request #736 from 1194570458/dev
Fix the problem of duplicate database selection.
2 parents c5afdf1 + 37b59f4 commit 38b03a7

File tree

1 file changed

+15
-1
lines changed
  • chat2db-server/chat2db-plugins/chat2db-clickhouse/src/main/java/ai/chat2db/plugin/clickhouse

1 file changed

+15
-1
lines changed

chat2db-server/chat2db-plugins/chat2db-clickhouse/src/main/java/ai/chat2db/plugin/clickhouse/ClickHouseDBManage.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,24 @@ private String setDatabaseInJdbcUrl(ConnectInfo connectInfo) {
8080

8181
String connectAddress = connectInfo.getHost() + ":" + connectInfo.getPort();
8282
String[] addressSplit = url.split(connectAddress);
83-
String connectParams = addressSplit[1];
83+
String connectParams = addressSplit.length == 2 ? addressSplit[1] : "";
8484
if (connectParams.startsWith("/")) {
8585
// Remove / from connection parameters
8686
connectParams = connectParams.substring(1);
87+
if (connectParams.startsWith(databaseName)) {
88+
// 删除连接参数中的数据库名
89+
connectParams = connectParams.substring(databaseName.length());
90+
} else {
91+
// 是否有连接参数
92+
int beginIndex = connectParams.indexOf("?");
93+
// 无连接参数直接设置 ""
94+
if (beginIndex == -1) {
95+
connectParams = "";
96+
} else {
97+
// 删除连接参数前的数据库名
98+
connectParams = connectParams.substring(beginIndex);
99+
}
100+
}
87101
}
88102
// Add database name
89103
return addressSplit[0] + connectAddress + "/" + databaseName + connectParams;

0 commit comments

Comments
 (0)