From 6694591fc02fe0fab76ac0e229c610e04deb0494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20W=C3=B6hrl?= Date: Tue, 13 Mar 2018 11:40:04 +0100 Subject: [PATCH] 0003487: Executing ISqlTemplate.update() with multiple statements swallows errors --- .../java/org/jumpmind/db/sql/JdbcSqlTemplate.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 cce10761fa..5d20f2bd6f 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 @@ -352,7 +352,12 @@ public Integer execute(Connection con) throws SQLException { long endTime = System.currentTimeMillis(); logSqlBuilder.logSql(log, sql, args, types, (endTime-startTime)); - return stmt.getUpdateCount(); + int updateCount; + do{ + updateCount = stmt.getUpdateCount(); + }while(stmt.getMoreResults() || stmt.getUpdateCount() != -1); + + return updateCount; } catch (SQLException e) { throw logSqlBuilder.logSqlAfterException(log, sql, args, e); } finally { @@ -375,7 +380,12 @@ public Integer execute(Connection con) throws SQLException { long endTime = System.currentTimeMillis(); logSqlBuilder.logSql(log, sql, args, types, (endTime-startTime)); - return ps.getUpdateCount(); + int updateCount; + do{ + updateCount = ps.getUpdateCount(); + }while(ps.getMoreResults() || ps.getUpdateCount() != -1); + + return updateCount; } catch (SQLException e) { throw logSqlBuilder.logSqlAfterException(log, sql, args, e); } finally {