diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java index 9ce01c8b7b8..d44a7bccaa5 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/i18n/Msg.java @@ -25,7 +25,7 @@ public final class Msg { /** * IMPORTANT: Please update the following comment after you add a new code - * Last used code value: 2140 + * Last used code value: 2141 */ private Msg() {} diff --git a/hapi-fhir-sql-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/dao/HapiMigrationDao.java b/hapi-fhir-sql-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/dao/HapiMigrationDao.java index 1739de485ce..f1b5f47929f 100644 --- a/hapi-fhir-sql-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/dao/HapiMigrationDao.java +++ b/hapi-fhir-sql-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/dao/HapiMigrationDao.java @@ -1,7 +1,6 @@ package ca.uhn.fhir.jpa.migrate.dao; import ca.uhn.fhir.i18n.Msg; -import ca.uhn.fhir.jpa.migrate.SchemaMigrator; import ca.uhn.fhir.jpa.migrate.entity.HapiMigrationEntity; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; import ca.uhn.fhir.util.VersionEnum; @@ -17,9 +16,7 @@ import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; -import java.util.HashSet; import java.util.List; -import java.util.Locale; import java.util.Set; import java.util.stream.Collectors; @@ -76,7 +73,7 @@ public class HapiMigrationDao { } public void createMigrationTableIfRequired() { - if (getTableNames().contains(myMigrationTablename)) { + if (migrationTableExists()) { return; } ourLog.info("Creating table {}", myMigrationTablename); @@ -85,33 +82,24 @@ public class HapiMigrationDao { myJdbcTemplate.execute(createTableStatement); } - private Set getTableNames() { + private boolean migrationTableExists() { try { try (Connection connection = myDataSource.getConnection()) { DatabaseMetaData metadata; metadata = connection.getMetaData(); ResultSet tables = metadata.getTables(connection.getCatalog(), connection.getSchema(), null, null); - Set columnNames = new HashSet<>(); while (tables.next()) { String tableName = tables.getString("TABLE_NAME"); - tableName = tableName.toUpperCase(Locale.US); - String tableType = tables.getString("TABLE_TYPE"); - if ("SYSTEM TABLE".equalsIgnoreCase(tableType)) { - continue; + if (myMigrationTablename.equalsIgnoreCase(tableName)) { + return true; } - if (SchemaMigrator.HAPI_FHIR_MIGRATION_TABLENAME.equalsIgnoreCase(tableName)) { - continue; - } - - columnNames.add(tableName); } - - return columnNames; + return false; } } catch (SQLException e) { - throw new InternalErrorException(Msg.code(40) + e); + throw new InternalErrorException(Msg.code(2141) + e); } } }