support drop table

This commit is contained in:
jipengfei.jpf
2023-07-01 11:39:12 +08:00
parent fd572267f2
commit 2c31feedbf
10 changed files with 89 additions and 8 deletions

View File

@ -51,6 +51,11 @@ public class MysqlDBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE "+ format(tableName);
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
}
public static String format(String tableName) {
return "`" + tableName + "`";
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.clickhouse; package ai.chat2db.plugin.clickhouse;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class ClickHouseDBManage implements DBManage { public class ClickHouseDBManage implements DBManage {
@Override @Override
@ -39,6 +40,9 @@ public class ClickHouseDBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE IF EXISTS " + databaseName + "." + tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.db2; package ai.chat2db.plugin.db2;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class DB2DBManage implements DBManage { public class DB2DBManage implements DBManage {
@Override @Override
@ -40,6 +41,7 @@ public class DB2DBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE " + tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.dm; package ai.chat2db.plugin.dm;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class DMDBManage implements DBManage { public class DMDBManage implements DBManage {
@Override @Override
@ -40,6 +41,7 @@ public class DMDBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE IF EXISTS " +tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.h2; package ai.chat2db.plugin.h2;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class H2DBManage implements DBManage { public class H2DBManage implements DBManage {
@Override @Override
@ -40,6 +41,7 @@ public class H2DBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE " +tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.hive; package ai.chat2db.plugin.hive;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class HiveDBManage implements DBManage { public class HiveDBManage implements DBManage {
@Override @Override
@ -40,6 +41,7 @@ public class HiveDBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "drop table if exists " +tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.kingbase; package ai.chat2db.plugin.kingbase;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class KingBaseDBManage implements DBManage { public class KingBaseDBManage implements DBManage {
@Override @Override
@ -40,6 +41,7 @@ public class KingBaseDBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "drop table if exists " +tableName;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -1,6 +1,7 @@
package ai.chat2db.plugin.mariadb; package ai.chat2db.plugin.mariadb;
import ai.chat2db.spi.DBManage; import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class MariaDBManage implements DBManage { public class MariaDBManage implements DBManage {
@Override @Override
@ -40,6 +41,7 @@ public class MariaDBManage implements DBManage {
@Override @Override
public void dropTable(String databaseName, String schemaName, String tableName) { public void dropTable(String databaseName, String schemaName, String tableName) {
String sql = "DROP TABLE " +tableName ;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
} }
} }

View File

@ -32,6 +32,8 @@ public class TableVO {
*/ */
private List<IndexVO> indexList; private List<IndexVO> indexList;
/**
* 是否已经被固定
*/
private boolean pinned; private boolean pinned;
} }

View File

@ -0,0 +1,58 @@
/**
* alibaba.com Inc.
* Copyright (c) 2004-2023 All Rights Reserved.
*/
package ai.chat2db.spi.jdbc;
import java.sql.SQLException;
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.SQLExecutor;
/**
* @author jipengfei
* @version : DefaultDBManage.java
*/
public class DefaultDBManage 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) {
String sql = "DROP TABLE "+ tableName ;
SQLExecutor.getInstance().executeSql(sql, resultSet -> null);
}
}