Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java')
-rw-r--r--plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java
index 0aa500536f..ac34132b4b 100644
--- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java
+++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java
@@ -523,6 +523,14 @@ public final class DBUtil
*/
public static void executeBatch(PreparedStatement stmt, int counter)
{
+ executeBatch(stmt, counter, true);
+ }
+
+ /**
+ * @since 4.1
+ */
+ public static void executeBatch(PreparedStatement stmt, int counter, boolean checkExactlyOne)
+ {
try
{
int[] results = stmt.executeBatch();
@@ -534,10 +542,14 @@ public final class DBUtil
for (int i = 0; i < results.length; i++)
{
int result = results[i];
- if (result != 1 && result != Statement.SUCCESS_NO_INFO)
+ if (result < 0 && result != Statement.SUCCESS_NO_INFO)
{
throw new DBException("Result " + i + " is not successful: " + result);
}
+ else if (checkExactlyOne && result != 1)
+ {
+ throw new DBException("Result " + i + " did not affect exactly one row: " + result);
+ }
}
}
catch (SQLException ex)

Back to the top