mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-08-06 18:24:29 +08:00
Support for custom drivers
This commit is contained in:
@ -0,0 +1,44 @@
|
||||
package ai.chat2db.plugin.clickhouse;
|
||||
|
||||
import ai.chat2db.spi.DBManage;
|
||||
|
||||
public class ClickHouseDBManage implements DBManage {
|
||||
@Override
|
||||
public void connectDatabase(String database) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyDatabase(String databaseName, String newDatabaseName) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createDatabase(String databaseName) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropDatabase(String databaseName) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createSchema(String databaseName, String schemaName) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropSchema(String databaseName, String schemaName) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifySchema(String databaseName, String schemaName, String newSchemaName) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dropTable(String databaseName, String schemaName, String tableName) {
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package ai.chat2db.plugin.clickhouse;
|
||||
|
||||
import ai.chat2db.spi.MetaData;
|
||||
import ai.chat2db.spi.jdbc.DefaultMetaService;
|
||||
|
||||
public class ClickHouseMetaData extends DefaultMetaService implements MetaData {
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package ai.chat2db.plugin.clickhouse;
|
||||
|
||||
|
||||
import ai.chat2db.plugin.clickhouse.builder.DBConfigBuilder;
|
||||
import ai.chat2db.spi.DBManage;
|
||||
import ai.chat2db.spi.MetaData;
|
||||
import ai.chat2db.spi.Plugin;
|
||||
import ai.chat2db.spi.config.DBConfig;
|
||||
|
||||
public class ClickHousePlugin implements Plugin {
|
||||
@Override
|
||||
public DBConfig getDBConfig() {
|
||||
return DBConfigBuilder.buildDBConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetaData getMetaData() {
|
||||
return new ClickHouseMetaData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DBManage getDBManage() {
|
||||
return new ClickHouseDBManage();
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package ai.chat2db.plugin.clickhouse.builder;
|
||||
|
||||
import ai.chat2db.spi.config.DBConfig;
|
||||
import ai.chat2db.spi.config.DriverConfig;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
public class DBConfigBuilder {
|
||||
public static DBConfig buildDBConfig() {
|
||||
DBConfig dbConfig = new DBConfig();
|
||||
dbConfig.setName("ClickHouse");
|
||||
dbConfig.setDbType("CLICKHOUSE");
|
||||
|
||||
DriverConfig driverConfig = new DriverConfig();
|
||||
driverConfig.setJdbcDriver("clickhouse-jdbc-0.3.2-patch8-http.jar");
|
||||
driverConfig.setJdbcDriverClass("com.clickhouse.jdbc.ClickHouseDriver");
|
||||
driverConfig.setDownloadJdbcDriverUrls(Lists.newArrayList("https://oss-chat2db.alibaba.com/lib/clickhouse-jdbc-0.3.2-patch8-http.jar"));
|
||||
driverConfig.setName(driverConfig.getJdbcDriver() + ":" + driverConfig.getJdbcDriverClass());
|
||||
dbConfig.setDefaultDriverConfig(driverConfig);
|
||||
|
||||
dbConfig.setDriverConfigList(Lists.newArrayList(driverConfig));
|
||||
return dbConfig;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1 @@
|
||||
ai.chat2db.plugin.clickhouse.ClickHousePlugin
|
Reference in New Issue
Block a user