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,54 +1,19 @@
package ai.chat2db.plugin.postgresql;
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.sql.Chat2DBContext;
import ai.chat2db.spi.sql.ConnectInfo;
import ai.chat2db.spi.sql.SQLExecutor;
import java.sql.Connection;
import java.sql.SQLException;
public class PostgreSQLDBManage implements DBManage {
import ai.chat2db.spi.DBManage;
import ai.chat2db.spi.jdbc.DefaultDBManage;
import ai.chat2db.spi.sql.SQLExecutor;
public class PostgreSQLDBManage extends DefaultDBManage implements DBManage {
@Override
public void connectDatabase(String database) {
public void connectDatabase(Connection connection, String database) {
try {
SQLExecutor.getInstance().execute("SELECT pg_database_size('"+database+"');");
SQLExecutor.getInstance().execute(connection,"SELECT pg_database_size('"+database+"');");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@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) {
}
}

View File

@ -1,11 +1,12 @@
package ai.chat2db.plugin.postgresql;
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 java.sql.SQLException;
public class PostgreSQLMetaData extends DefaultMetaService implements MetaData {
private String functionSQL =
" CREATE OR REPLACE FUNCTION showcreatetable(namespace character varying, tablename character "
@ -163,10 +164,10 @@ public class PostgreSQLMetaData extends DefaultMetaService implements MetaData {
+ " $BODY$ LANGUAGE plpgsql";
@Override
public String tableDDL(String databaseName, String schemaName, String tableName) {
SQLExecutor.getInstance().executeSql(functionSQL.replaceFirst("tableSchema", schemaName), resultSet -> null);
public String tableDDL(Connection connection, String databaseName, String schemaName, String tableName) {
SQLExecutor.getInstance().executeSql(connection,functionSQL.replaceFirst("tableSchema", schemaName), resultSet -> null);
String ddlSql = "select showcreatetable('" + schemaName + "','" + tableName + "') as sql";
return SQLExecutor.getInstance().executeSql(ddlSql, resultSet -> {
return SQLExecutor.getInstance().executeSql(connection,ddlSql, resultSet -> {
try {
if (resultSet.next()) {
return resultSet.getString("sql");