This commit is contained in:
jipengfei-jpf
2023-07-17 20:51:06 +08:00
parent de6fa3cb58
commit c81985e916
41 changed files with 294 additions and 795 deletions

View File

@ -1,47 +1,17 @@
package ai.chat2db.plugin.h2;
import java.sql.Connection;
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.jdbc.DefaultDBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class H2DBManage implements DBManage {
@Override
public void connectDatabase(String database) {
public class H2DBManage extends DefaultDBManage implements DBManage {
}
@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) {
public void dropTable(Connection connection, String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE " +tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
SQLExecutor.getInstance().executeSql(connection,sql, resultSet -> null);
}
}

View File

@ -1,10 +1,5 @@
package ai.chat2db.plugin.h2;
import ai.chat2db.spi.MetaData;
import ai.chat2db.spi.jdbc.DefaultMetaService;
import ai.chat2db.spi.sql.SQLExecutor;
import jakarta.validation.constraints.NotEmpty;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
@ -13,16 +8,19 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import ai.chat2db.spi.MetaData;
import ai.chat2db.spi.jdbc.DefaultMetaService;
import jakarta.validation.constraints.NotEmpty;
public class H2Meta extends DefaultMetaService implements MetaData {
@Override
public String tableDDL(@NotEmpty String databaseName, String schemaName, @NotEmpty String tableName) {
return getDDL(databaseName, schemaName, tableName);
public String tableDDL(Connection connection, @NotEmpty String databaseName, String schemaName, @NotEmpty String tableName) {
return getDDL(connection,databaseName, schemaName, tableName);
}
private String getDDL(String databaseName, String schemaName, String tableName) {
private String getDDL(Connection connection, String databaseName, String schemaName, String tableName) {
try {
Connection connection = SQLExecutor.getInstance().getConnection();
// 查询表结构信息
ResultSet columns = connection.getMetaData().getColumns(databaseName, schemaName, tableName, null);
List<String> columnDefinitions = new ArrayList<>();