From b4060b9f4263c6b0563290d39c6bd2db11c8f89d Mon Sep 17 00:00:00 2001 From: Wesley Willard Date: Tue, 23 Apr 2019 13:56:28 -0500 Subject: [PATCH 1/2] DAT-2015 Allow capability to handle EDB Connector driver --- .../liquibase/database/core/PostgresDatabase.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/liquibase-core/src/main/java/liquibase/database/core/PostgresDatabase.java b/liquibase-core/src/main/java/liquibase/database/core/PostgresDatabase.java index 56168d724d..e99a852e8d 100644 --- a/liquibase-core/src/main/java/liquibase/database/core/PostgresDatabase.java +++ b/liquibase-core/src/main/java/liquibase/database/core/PostgresDatabase.java @@ -28,6 +28,7 @@ */ public class PostgresDatabase extends AbstractJdbcDatabase { public static final String PRODUCT_NAME = "PostgreSQL"; + public static final String EDB_PRODUCT_NAME = "EnterpriseDB"; private Set systemTablesAndViews = new HashSet(); @@ -77,7 +78,12 @@ public boolean supportsInitiallyDeferrableColumns() { @Override public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException { - return PRODUCT_NAME.equalsIgnoreCase(conn.getDatabaseProductName()); + boolean matches = PRODUCT_NAME.equalsIgnoreCase(conn.getDatabaseProductName()); + if (matches) { + return true; + } + matches = EDB_PRODUCT_NAME.equals(conn.getDatabaseProductName()); + return matches; } @Override @@ -85,6 +91,9 @@ public String getDefaultDriver(String url) { if (url.startsWith("jdbc:postgresql:")) { return "org.postgresql.Driver"; } + else if (url.startsWith("jdbc:edb")) { + return "com.edb.Driver"; + } return null; } From 7b17b18d0ed001577ab720a4f9d06e62ee55acc7 Mon Sep 17 00:00:00 2001 From: Wesley Willard Date: Mon, 3 Jun 2019 11:19:34 -0500 Subject: [PATCH 2/2] DAT-2015 Include postrgres --- .../java/liquibase/change/core/CreateProcedureChange.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/liquibase-core/src/main/java/liquibase/change/core/CreateProcedureChange.java b/liquibase-core/src/main/java/liquibase/change/core/CreateProcedureChange.java index fcce81ea1d..a0c0d84edb 100644 --- a/liquibase-core/src/main/java/liquibase/change/core/CreateProcedureChange.java +++ b/liquibase-core/src/main/java/liquibase/change/core/CreateProcedureChange.java @@ -6,10 +6,7 @@ import liquibase.configuration.LiquibaseConfiguration; import liquibase.database.Database; import liquibase.database.DatabaseList; -import liquibase.database.core.AbstractDb2Database; -import liquibase.database.core.HsqlDatabase; -import liquibase.database.core.MSSQLDatabase; -import liquibase.database.core.OracleDatabase; +import liquibase.database.core.*; import liquibase.exception.UnexpectedLiquibaseException; import liquibase.exception.ValidationErrors; import liquibase.parser.core.ParsedNode; @@ -172,7 +169,7 @@ public ValidationErrors validate(Database database) { } if (this.getReplaceIfExists() != null && (DatabaseList.definitionMatches(getDbms(), database, true))) { - if (database instanceof MSSQLDatabase) { + if (database instanceof MSSQLDatabase || database instanceof PostgresDatabase) { if (this.getReplaceIfExists() && this.getProcedureName() == null) { validate.addError("procedureName is required if replaceIfExists = true"); }