mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-09-19 23:33:34 +08:00
Merge pull request #1230 from openai0229/db2-view-ddl-query
db2 function ddl query and procedure ddl query
This commit is contained in:
@ -143,6 +143,38 @@ public class DB2MetaData extends DefaultMetaService implements MetaData {
|
||||
return table;
|
||||
}
|
||||
|
||||
private static String ROUTINE_DDL_SQL="select TEXT from syscat.routines where ROUTINESCHEMA='%s' and ROUTINENAME='%s';";
|
||||
|
||||
@Override
|
||||
public Function function(Connection connection, String databaseName, String schemaName, String functionName) {
|
||||
Function function = new Function();
|
||||
function.setDatabaseName(databaseName);
|
||||
function.setSchemaName(schemaName);
|
||||
function.setFunctionName(functionName);
|
||||
String sql = String.format(ROUTINE_DDL_SQL, schemaName, functionName);
|
||||
SQLExecutor.getInstance().execute(connection, sql, resultSet -> {
|
||||
if (resultSet.next()) {
|
||||
function.setFunctionBody(resultSet.getString("TEXT")+";");
|
||||
}
|
||||
});
|
||||
return function;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Procedure procedure(Connection connection, String databaseName, String schemaName, String procedureName) {
|
||||
Procedure procedure = new Procedure();
|
||||
procedure.setDatabaseName(databaseName);
|
||||
procedure.setSchemaName(schemaName);
|
||||
procedure.setProcedureName(procedureName);
|
||||
String sql = String.format(ROUTINE_DDL_SQL, schemaName, procedureName);
|
||||
SQLExecutor.getInstance().execute(connection, sql, resultSet -> {
|
||||
if (resultSet.next()) {
|
||||
procedure.setProcedureBody(resultSet.getString("TEXT")+";");
|
||||
}
|
||||
});
|
||||
return procedure;
|
||||
}
|
||||
|
||||
private TableIndexColumn getTableIndexColumn(ResultSet resultSet) throws SQLException {
|
||||
TableIndexColumn tableIndexColumn = new TableIndexColumn();
|
||||
tableIndexColumn.setColumnName(resultSet.getString("COLNAME"));
|
||||
|
Reference in New Issue
Block a user