From 70be27edf807be70a2054241eb1981326c84a388 Mon Sep 17 00:00:00 2001 From: evan-miller-jumpmind <70151986+evan-miller-jumpmind@users.noreply.github.com> Date: Tue, 19 Dec 2023 14:57:27 -0500 Subject: [PATCH] 0006164: During an upgrade, log DDL before executing it instead of afterwards --- .../main/java/org/jumpmind/db/sql/ISqlResultsListener.java | 2 ++ .../main/java/org/jumpmind/db/sql/LogSqlResultsListener.java | 5 ++++- .../src/main/java/org/jumpmind/db/sql/JdbcSqlTemplate.java | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/symmetric-db/src/main/java/org/jumpmind/db/sql/ISqlResultsListener.java b/symmetric-db/src/main/java/org/jumpmind/db/sql/ISqlResultsListener.java index 016d766475..bf4c6e61f4 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/sql/ISqlResultsListener.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/sql/ISqlResultsListener.java @@ -21,6 +21,8 @@ package org.jumpmind.db.sql; public interface ISqlResultsListener { + public void sqlBefore(String sql, int lineNumber); + public void sqlApplied(String sql, int rowsUpdated, int rowsRetrieved, int lineNumber); public void sqlErrored(String sql, SqlException ex, int lineNumber, boolean dropStatement, boolean sequenceCreate); diff --git a/symmetric-db/src/main/java/org/jumpmind/db/sql/LogSqlResultsListener.java b/symmetric-db/src/main/java/org/jumpmind/db/sql/LogSqlResultsListener.java index 36587b5a2c..7e9de291a8 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/sql/LogSqlResultsListener.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/sql/LogSqlResultsListener.java @@ -29,6 +29,10 @@ public class LogSqlResultsListener implements ISqlResultsListener { public LogSqlResultsListener() { } + public void sqlBefore(String sql, int lineNumber) { + log.info("Executing DDL: {}", sql); + } + public void sqlErrored(String sql, SqlException ex, int lineNumber, boolean dropStatement, boolean sequenceCreate) { if (dropStatement || sequenceCreate) { @@ -39,6 +43,5 @@ public void sqlErrored(String sql, SqlException ex, int lineNumber, boolean drop } public void sqlApplied(String sql, int rowsUpdated, int rowsRetrieved, int lineNumber) { - log.info("DDL applied: {}", sql); } } diff --git a/symmetric-jdbc/src/main/java/org/jumpmind/db/sql/JdbcSqlTemplate.java b/symmetric-jdbc/src/main/java/org/jumpmind/db/sql/JdbcSqlTemplate.java index 4da70f5333..65d81ca247 100644 --- a/symmetric-jdbc/src/main/java/org/jumpmind/db/sql/JdbcSqlTemplate.java +++ b/symmetric-jdbc/src/main/java/org/jumpmind/db/sql/JdbcSqlTemplate.java @@ -423,6 +423,9 @@ public Integer execute(Connection con) throws SQLException { .readSqlStatement()) { if (isNotBlank(statement)) { try { + if (resultsListener != null) { + resultsListener.sqlBefore(statement, statementCount); + } long startTime = System.currentTimeMillis(); boolean hasResults = stmt.execute(statement); long endTime = System.currentTimeMillis();