Merge pull request #663 from 1194570458/dev

修复clickhouse无法选中数据库问题
This commit is contained in:
ji
2023-10-28 11:04:48 +08:00
committed by GitHub
3 changed files with 37 additions and 2 deletions

View File

@ -4,10 +4,39 @@ import java.sql.Connection;
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.jdbc.DefaultDBManage;
import ai.chat2db.spi.sql.ConnectInfo;
import ai.chat2db.spi.sql.SQLExecutor;
import org.apache.commons.lang3.StringUtils;
import javax.net.ssl.HostnameVerifier;
public class ClickHouseDBManage extends DefaultDBManage implements DBManage {
@Override
public Connection getConnection(ConnectInfo connectInfo) {
String url = setDatabaseInJdbcUrl(connectInfo);
connectInfo.setUrl(url);
return super.getConnection(connectInfo);
}
private String setDatabaseInJdbcUrl(ConnectInfo connectInfo) {
String databaseName;
String url = connectInfo.getUrl();
if (StringUtils.isBlank((databaseName = connectInfo.getDatabaseName())) && StringUtils.isBlank((databaseName = connectInfo.getSchemaName()))) {
return url;
}
String connectAddress = connectInfo.getHost() + ":" + connectInfo.getPort();
String[] addressSplit = url.split(connectAddress);
String connectParams = addressSplit[1];
if (connectParams.startsWith("/")) {
// 删除连接参数中的 /
connectParams = connectParams.substring(1);
}
// 添加数据库名
return addressSplit[0] + connectAddress + "/" + databaseName + connectParams;
}
@Override
public void dropTable(Connection connection, String databaseName, String schemaName, String tableName) {

View File

@ -53,7 +53,10 @@ public class DataSourceUpdateParam {
*/
private String envType;
/**
* 环境id
*/
private Integer environmentId;
/**
* host

View File

@ -56,7 +56,10 @@ public class DataSourceUpdateRequest {
*/
private String envType;
/**
* 环境id
*/
private Integer environmentId;
/**
* host