From 1526c6d8d406c0165143b1c9513ecab824bc27fa Mon Sep 17 00:00:00 2001 From: dongyeon_kim Date: Thu, 29 Aug 2024 10:55:30 +0900 Subject: [PATCH] fix if exists command not support error (supportsTableIfExistsClause() method is always true) --- .../org/embulk/output/jdbc/JdbcOutputConnection.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java b/embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java index 24287eca..5696eadb 100644 --- a/embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java +++ b/embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java @@ -121,8 +121,16 @@ public void dropTableIfExists(TableIdentifier table) throws SQLException protected void dropTableIfExists(Statement stmt, TableIdentifier table) throws SQLException { if (supportsTableIfExistsClause()) { - String sql = String.format("DROP TABLE IF EXISTS %s", quoteTableIdentifier(table)); - executeUpdate(stmt, sql); + try { + String sql = String.format("DROP TABLE IF EXISTS %s", quoteTableIdentifier(table)); + executeUpdate(stmt, sql); + } + catch (Exception ex) { + logger.warn("IF EXISTS Not Supported."); + if (tableExists(table)) { + dropTable(stmt, table); + } + } } else { if (tableExists(table)) { dropTable(stmt, table);