diff --git a/src/main/java/io/ebean/ddlrunner/DdlParser.java b/src/main/java/io/ebean/ddlrunner/DdlParser.java index bdf91ec..bc08cd4 100644 --- a/src/main/java/io/ebean/ddlrunner/DdlParser.java +++ b/src/main/java/io/ebean/ddlrunner/DdlParser.java @@ -40,7 +40,7 @@ public List parse(Reader reader) { /** * Return the non-transactional statements which run later with auto commit true. */ - public List getNonTransactional() { + public List nonTransactional() { return statementsNonTrans; } diff --git a/src/main/java/io/ebean/ddlrunner/DdlRunner.java b/src/main/java/io/ebean/ddlrunner/DdlRunner.java index 433bdb9..031ad67 100644 --- a/src/main/java/io/ebean/ddlrunner/DdlRunner.java +++ b/src/main/java/io/ebean/ddlrunner/DdlRunner.java @@ -7,6 +7,7 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.sql.Statement; import java.util.List; /** @@ -52,7 +53,7 @@ public DdlRunner(boolean useAutoCommit, String scriptName, DdlDetect ddlAutoComm public List runAll(String content, Connection connection) throws SQLException { List statements = parser.parse(new StringReader(content)); runStatements(statements, connection); - return parser.getNonTransactional(); + return parser.nonTransactional(); } /** @@ -80,29 +81,29 @@ private void runStatements(List statements, Connection connection) throw /** * Execute the statement. */ - private void runStatement(String oneOf, String stmt, Connection c) throws SQLException { + private void runStatement(String oneOf, String sql, Connection c) throws SQLException { // trim and remove trailing ; or / - stmt = stmt.trim(); - if (stmt.endsWith(";")) { - stmt = stmt.substring(0, stmt.length() - 1); - } else if (stmt.endsWith("/")) { - stmt = stmt.substring(0, stmt.length() - 1); + sql = sql.trim(); + if (sql.endsWith(";")) { + sql = sql.substring(0, sql.length() - 1); + } else if (sql.endsWith("/")) { + sql = sql.substring(0, sql.length() - 1); } - if (stmt.isEmpty()) { + if (sql.isEmpty()) { logger.log(Level.DEBUG, "skip empty statement at {0}", oneOf); return; } if (logger.isLoggable(Level.DEBUG)) { - logger.log(Level.DEBUG, "executing {0} {1}", oneOf, summary(stmt)); + logger.log(Level.DEBUG, "executing {0} {1}", oneOf, summary(sql)); } - try (PreparedStatement statement = c.prepareStatement(stmt)) { - statement.execute(); + try (Statement statement = c.createStatement()) { + statement.execute(sql); } catch (SQLException e) { if (useAutoCommit) { - logger.log(Level.DEBUG, " ... ignoring error executing {0} error: {1}", summary(stmt), e.getMessage()); + logger.log(Level.DEBUG, " ... ignoring error executing {0} error: {1}", summary(sql), e.getMessage()); } else { - throw new SQLException("Error executing stmt[" + stmt + "] error[" + e.getMessage() + "]", e); + throw new SQLException("Error executing [" + sql + "] error[" + e.getMessage() + "]", e); } } } @@ -118,7 +119,7 @@ private String summary(String s) { * Run any non-transactional statements from the just parsed script. */ public int runNonTransactional(Connection connection) { - final List nonTransactional = parser.getNonTransactional(); + final List nonTransactional = parser.nonTransactional(); return !nonTransactional.isEmpty() ? runNonTransactional(connection, nonTransactional) : 0; }