Skip to content

Commit 0852517

Browse files
authored
Merge pull request OtterMind#1229 from openai0229/db2-view-ddl-query
db2-view-ddl-query
2 parents 18e70d0 + 1fb31ed commit 0852517

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

  • chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2

chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@
1313
import ai.chat2db.spi.MetaData;
1414
import ai.chat2db.spi.SqlBuilder;
1515
import ai.chat2db.spi.jdbc.DefaultMetaService;
16-
import ai.chat2db.spi.model.Schema;
17-
import ai.chat2db.spi.model.TableIndex;
18-
import ai.chat2db.spi.model.TableIndexColumn;
19-
import ai.chat2db.spi.model.TableMeta;
16+
import ai.chat2db.spi.model.*;
2017
import ai.chat2db.spi.sql.SQLExecutor;
2118
import ai.chat2db.spi.util.SortUtils;
2219
import com.google.common.collect.Lists;
@@ -130,6 +127,22 @@ public List<TableIndex> indexes(Connection connection, String databaseName, Stri
130127

131128
}
132129

130+
private static String VIEW_DDL_SQL="select TEXT from syscat.views where VIEWSCHEMA='%s' and VIEWNAME='%s';";
131+
@Override
132+
public Table view(Connection connection, String databaseName, String schemaName, String viewName) {
133+
String sql = String.format(VIEW_DDL_SQL, schemaName, viewName);
134+
Table table = new Table();
135+
table.setDatabaseName(databaseName);
136+
table.setSchemaName(schemaName);
137+
table.setName(viewName);
138+
SQLExecutor.getInstance().execute(connection, sql, resultSet -> {
139+
if (resultSet.next()) {
140+
table.setDdl(resultSet.getString("TEXT")+";");
141+
}
142+
});
143+
return table;
144+
}
145+
133146
private TableIndexColumn getTableIndexColumn(ResultSet resultSet) throws SQLException {
134147
TableIndexColumn tableIndexColumn = new TableIndexColumn();
135148
tableIndexColumn.setColumnName(resultSet.getString("COLNAME"));

0 commit comments

Comments
 (0)