|
1 | 1 | package tech.ydb.liquibase.change; |
2 | 2 |
|
3 | | -import com.opencsv.exceptions.CsvMalformedLineException; |
4 | 3 | import java.io.IOException; |
5 | 4 | import java.sql.ResultSet; |
6 | 5 | import java.util.ArrayList; |
|
9 | 8 | import java.util.LinkedHashMap; |
10 | 9 | import java.util.List; |
11 | 10 | import java.util.Map; |
| 11 | + |
| 12 | +import com.opencsv.exceptions.CsvMalformedLineException; |
12 | 13 | import liquibase.Scope; |
13 | 14 | import liquibase.change.ChangeMetaData; |
14 | 15 | import liquibase.change.DatabaseChange; |
|
23 | 24 | import liquibase.statement.core.InsertStatement; |
24 | 25 | import liquibase.statement.core.RawSqlStatement; |
25 | 26 | import liquibase.util.csv.CSVReader; |
| 27 | + |
26 | 28 | import tech.ydb.liquibase.database.YdbDatabase; |
27 | 29 |
|
28 | 30 | /** |
@@ -60,17 +62,16 @@ public SqlStatement[] generateStatements(Database database) { |
60 | 62 | } |
61 | 63 |
|
62 | 64 | JdbcConnection jdbcConnection = (JdbcConnection) database.getConnection(); |
63 | | - ResultSet resultSet = jdbcConnection.getMetaData() |
64 | | - .getColumns(null, null, tableName, null); |
65 | | - |
66 | | - while (resultSet.next()) { |
67 | | - columnToLiquibaseDataType.put( |
68 | | - resultSet.getString("COLUMN_NAME").toLowerCase(), |
69 | | - DataTypeFactory.getInstance() |
70 | | - .fromDescription(resultSet.getString("TYPE_NAME"), database)); |
71 | | - } |
| 65 | + try (ResultSet resultSet = jdbcConnection.getMetaData().getColumns(null, null, tableName, null)) { |
| 66 | + while (resultSet.next()) { |
| 67 | + columnToLiquibaseDataType.put( |
| 68 | + resultSet.getString("COLUMN_NAME").toLowerCase(), |
| 69 | + DataTypeFactory.getInstance() |
| 70 | + .fromDescription(resultSet.getString("TYPE_NAME"), database)); |
| 71 | + } |
72 | 72 |
|
73 | | - return getSqlStatements(database, reader, headers); |
| 73 | + return getSqlStatements(database, reader, headers); |
| 74 | + } |
74 | 75 | } catch (CsvMalformedLineException e) { |
75 | 76 | throw new RuntimeException("Error parsing " + getRelativeTo() + " on line " + e.getLineNumber() + ": " + e.getMessage()); |
76 | 77 | } catch (UnexpectedLiquibaseException ule) { |
|
0 commit comments