From 534a37f3562851ad3cc6b33ad755d7378ddb4e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Barto=C5=A1?= Date: Thu, 31 Jul 2025 14:55:05 +0200 Subject: [PATCH] Remove workaround for PostgreSQL and Liquibase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #40687 This reverts commit 3a7569662ee6286a9c9138963b0f70beba90a561. Signed-off-by: Martin Bartoš --- .../liquibase/UpdatedPostgresDatabase.java | 54 ------------------- .../services/liquibase.database.Database | 3 +- .../keycloak/config/database/Database.java | 2 +- 3 files changed, 2 insertions(+), 57 deletions(-) delete mode 100644 model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/UpdatedPostgresDatabase.java diff --git a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/UpdatedPostgresDatabase.java b/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/UpdatedPostgresDatabase.java deleted file mode 100644 index 2e5add267f4..00000000000 --- a/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/UpdatedPostgresDatabase.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.keycloak.connections.jpa.updater.liquibase; - -import liquibase.GlobalConfiguration; -import liquibase.database.ObjectQuotingStrategy; -import liquibase.database.core.PostgresDatabase; -import liquibase.structure.DatabaseObject; -import liquibase.structure.core.Catalog; -import liquibase.structure.core.Schema; -import liquibase.util.StringUtil; - -import java.util.Locale; - -/** - * Workaround for keycloak#39917 - * Remove it once Liquibase 4.32.0 is used - */ -public class UpdatedPostgresDatabase extends PostgresDatabase { - - @Override - public int getPriority() { - return super.getPriority() + 1; // Always take precedence over factory PostgresDatabase - } - - /** - * Use updated version present in Liquibase 4.32.0 - PostgresDatabase.correctObjectName() - */ - @Override - public String correctObjectName(String objectName, Class objectType) { - if ((objectName == null) || (quotingStrategy != ObjectQuotingStrategy.LEGACY)) { - return super.correctObjectName(objectName, objectType); - } - // - // Check preserve case flag for schema - // - if (objectType.equals(Schema.class) && Boolean.TRUE.equals(GlobalConfiguration.PRESERVE_SCHEMA_CASE.getCurrentValue())) { - return objectName; - } - - if (objectType.equals(Catalog.class) && !StringUtil.hasLowerCase(objectName)) { - return objectName; - } - - if (objectName.contains("-") - || hasMixedCase(objectName) - || startsWithNumeric(objectName) - || isReservedWord(objectName)) { - return objectName; - } else { - return objectName.toLowerCase(Locale.US); - } - } - - -} diff --git a/model/jpa/src/main/resources/META-INF/services/liquibase.database.Database b/model/jpa/src/main/resources/META-INF/services/liquibase.database.Database index 065c8fb4012..238e52b6de4 100644 --- a/model/jpa/src/main/resources/META-INF/services/liquibase.database.Database +++ b/model/jpa/src/main/resources/META-INF/services/liquibase.database.Database @@ -17,5 +17,4 @@ org.keycloak.connections.jpa.updater.liquibase.PostgresPlusDatabase org.keycloak.connections.jpa.updater.liquibase.UpdatedMariaDBDatabase -org.keycloak.connections.jpa.updater.liquibase.UpdatedMySqlDatabase -org.keycloak.connections.jpa.updater.liquibase.UpdatedPostgresDatabase \ No newline at end of file +org.keycloak.connections.jpa.updater.liquibase.UpdatedMySqlDatabase \ No newline at end of file diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/database/Database.java b/quarkus/config-api/src/main/java/org/keycloak/config/database/Database.java index 24a0e8d8435..226cf015588 100644 --- a/quarkus/config-api/src/main/java/org/keycloak/config/database/Database.java +++ b/quarkus/config-api/src/main/java/org/keycloak/config/database/Database.java @@ -210,7 +210,7 @@ public final class Database { getProperty(DatabaseOptions.DB_URL_PORT, namedProperty, "5432"), getProperty(DatabaseOptions.DB_URL_DATABASE, namedProperty, "keycloak"), getProperty(DatabaseOptions.DB_URL_PROPERTIES, namedProperty)), - asList("org.keycloak.connections.jpa.updater.liquibase.UpdatedPostgresDatabase", "org.keycloak.connections.jpa.updater.liquibase.PostgresPlusDatabase"), + asList("liquibase.database.core.PostgresDatabase", "org.keycloak.connections.jpa.updater.liquibase.PostgresPlusDatabase"), "postgres" ), MSSQL("mssql",