fix: cursor over limit when sync (#115)

This commit is contained in:
vran 2022-04-21 13:26:23 +08:00 committed by GitHub
parent 137923c740
commit 37efd234f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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());
}