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.dm;
import java.sql.Connection;
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.jdbc.DefaultDBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class DMDBManage implements DBManage {
@Override
public void connectDatabase(String database) {
public class DMDBManage 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 IF EXISTS " +tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
SQLExecutor.getInstance().executeSql(connection,sql, resultSet -> null);
}
}

View File

@ -1,19 +1,20 @@
package ai.chat2db.plugin.dm;
import java.sql.Connection;
import java.sql.SQLException;
import ai.chat2db.spi.MetaData;
import ai.chat2db.spi.jdbc.DefaultMetaService;
import ai.chat2db.spi.sql.SQLExecutor;
import ai.chat2db.spi.util.SqlUtils;
import java.sql.SQLException;
public class DMMetaData extends DefaultMetaService implements MetaData {
public String tableDDL(String databaseName, String schemaName, String tableName) {
public String tableDDL(Connection connection, String databaseName, String schemaName, String tableName) {
String selectObjectDDLSQL = String.format(
"select dbms_metadata.get_ddl(%s, %s, %s) AS \"sql\" from dual",
SqlUtils.formatSQLString("TABLE"), SqlUtils.formatSQLString(tableName),
SqlUtils.formatSQLString(schemaName));
return SQLExecutor.getInstance().executeSql(selectObjectDDLSQL, resultSet -> {
return SQLExecutor.getInstance().executeSql(connection,selectObjectDDLSQL, resultSet -> {
try {
if (resultSet.next()) {
return resultSet.getString("sql");