|
13 | 13 | import ai.chat2db.spi.MetaData; |
14 | 14 | import ai.chat2db.spi.SqlBuilder; |
15 | 15 | 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.*; |
20 | 17 | import ai.chat2db.spi.sql.SQLExecutor; |
21 | 18 | import ai.chat2db.spi.util.SortUtils; |
22 | 19 | import com.google.common.collect.Lists; |
@@ -130,6 +127,22 @@ public List<TableIndex> indexes(Connection connection, String databaseName, Stri |
130 | 127 |
|
131 | 128 | } |
132 | 129 |
|
| 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 | + |
133 | 146 | private TableIndexColumn getTableIndexColumn(ResultSet resultSet) throws SQLException { |
134 | 147 | TableIndexColumn tableIndexColumn = new TableIndexColumn(); |
135 | 148 | tableIndexColumn.setColumnName(resultSet.getString("COLNAME")); |
|
0 commit comments