diff --git a/liquibase-core/src/main/java/liquibase/lockservice/StandardLockService.java b/liquibase-core/src/main/java/liquibase/lockservice/StandardLockService.java index e8a4f448845..138ff5efef1 100644 --- a/liquibase-core/src/main/java/liquibase/lockservice/StandardLockService.java +++ b/liquibase-core/src/main/java/liquibase/lockservice/StandardLockService.java @@ -17,6 +17,7 @@ import liquibase.exception.UnexpectedLiquibaseException; import liquibase.executor.Executor; import liquibase.executor.ExecutorService; +import liquibase.executor.LoggingExecutor; import liquibase.snapshot.InvalidExampleException; import liquibase.snapshot.SnapshotGeneratorFactory; import liquibase.sql.Sql; @@ -99,6 +100,14 @@ public void init() throws DatabaseException { Executor executor = Scope.getCurrentScope().getSingleton(ExecutorService.class).getExecutor("jdbc", database); int maxIterations = 10; + if (executor instanceof LoggingExecutor) { + //can't / don't have to re-check + if (hasDatabaseChangeLogLockTable()) { + maxIterations = 0; + } else { + maxIterations = 1; + } + } for (int i = 0; i < maxIterations; i++) { try { if (!hasDatabaseChangeLogLockTable(true)) { diff --git a/liquibase-core/src/main/java/liquibase/ui/ConsoleUIService.java b/liquibase-core/src/main/java/liquibase/ui/ConsoleUIService.java index ef4b7637c63..ed6f23143b9 100644 --- a/liquibase-core/src/main/java/liquibase/ui/ConsoleUIService.java +++ b/liquibase-core/src/main/java/liquibase/ui/ConsoleUIService.java @@ -64,7 +64,7 @@ public void setAllowPrompt(boolean allowPrompt) throws IllegalArgumentException @Override public boolean getAllowPrompt() { - return allowPrompt; + return getConsole().supportsInput() && allowPrompt; } @Override