|
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