mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-29 18:53:12 +08:00
Support for custom drivers
This commit is contained in:
20
chat2db-server/chat2db-plugins/chat2db-clickhouse/pom.xml
Normal file
20
chat2db-server/chat2db-plugins/chat2db-clickhouse/pom.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>ai.chat2db</groupId>
|
||||
<artifactId>chat2db-plugins</artifactId>
|
||||
<version>${revision}</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ai.chat2db</groupId>
|
||||
<artifactId>chat2db-spi</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<artifactId>chat2db-clickhouse</artifactId>
|
||||
</project>
|
@ -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