fix: cursor over limit when sync

This commit is contained in:
vran 2022-04-21 11:02:24 +08:00
parent 137923c740
commit 770b22ca16
2 changed files with 12 additions and 6 deletions

View File

@ -94,11 +94,15 @@ public class JdbcColumnMetaRepository implements ColumnMetaRepository {
TableCondition tableCondition) throws SQLException {
ResultSet result = meta.getPrimaryKeys(tableCondition.getDatabaseName(),
tableCondition.getSchemaName(), tableCondition.getTableName());
List<String> columns = new ArrayList<>();
while (result.next()) {
String columnName = result.getString("COLUMN_NAME");
columns.add(columnName);
try {
List<String> columns = new ArrayList<>();
while (result.next()) {
String columnName = result.getString("COLUMN_NAME");
columns.add(columnName);
}
return columns;
} finally {
result.close();
}
return columns;
}
}

View File

@ -52,7 +52,9 @@ public class JdbcForeignKeyMetaRepository implements ForeignKeyMetaRepository {
log.warn("warn: ignore foreign keys in " + databaseName + "." + tableName + ", " + e.getMessage());
} finally {
try {
keyResult.close();
if (keyResult != null) {
keyResult.close();
}
} catch (SQLException e) {
log.warn("warn: close key result error " + databaseName + "." + tableName + ", " + e.getMessage());
}