From 15cab24848c65707f9dc9bf817799f24bcbb09ec Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Fri, 12 Oct 2018 20:33:59 +1300 Subject: [PATCH] #1504 - ENH: Add SqlUpdate executeNow() method ... that executes now regardless of transaction batch mode Add test for UpdateQuery (which executes immediately regardless) --- src/test/java/io/ebean/UpdateQueryTest.java | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/test/java/io/ebean/UpdateQueryTest.java b/src/test/java/io/ebean/UpdateQueryTest.java index 00498227d..583341517 100644 --- a/src/test/java/io/ebean/UpdateQueryTest.java +++ b/src/test/java/io/ebean/UpdateQueryTest.java @@ -42,6 +42,32 @@ public class UpdateQueryTest extends BaseTestCase { assertThat(ormQueryMetrics.get(0).getLabel()).isEqualTo("updateActive"); } + @Test + public void update_withTransactionBatch() { + + EbeanServer server = server(); + + try (Transaction transaction = server.beginTransaction()) { + transaction.setBatchMode(true); + + UpdateQuery update = server.update(Customer.class); + + Query query = update + .set("status", Customer.Status.ACTIVE) + .set("updtime", new Timestamp(System.currentTimeMillis())) + .where() + .eq("status", Customer.Status.NEW) + .gt("id", 99999) + .query(); + + // update executes now regardless of transaction batch mode + int rows = query.update(); + assertThat(rows).isEqualTo(0); + + transaction.commit(); + } + } + @Test @IgnorePlatform(Platform.SQLSERVER) public void withTableAlias() {