#1610 - Refactor: Change SQL logging such that jdbc batch use is more obvious

This commit is contained in:
rob bygrave committed 2019-01-21 19:31:28 +13:00
1 parent b399713a85
commit c86e6b3cf9
18 files changed
+113 -135

No files matched your search

@@ -11,6 +11,7 @@ import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -21,8 +22,7 @@ public class TestInsertBatchThenFlushThenUpdate extends BaseTestCase {
public void test() {
LoggedSqlCollector.start();
Transaction txn = Ebean.beginTransaction();
try {
try (Transaction txn = Ebean.beginTransaction()) {
txn.setBatchMode(true);
EdParent parent = new EdParent();
@@ -43,7 +43,7 @@ public class TestInsertBatchThenFlushThenUpdate extends BaseTestCase {
txn.flushBatch();
List<String> loggedSql1 = LoggedSqlCollector.start();
assertEquals(loggedSql1.toString(), 2, loggedSql1.size());
assertThat(loggedSql1).hasSize(4);
parent.setName("MyDesk");
Ebean.save(parent);
@@ -55,11 +55,8 @@ public class TestInsertBatchThenFlushThenUpdate extends BaseTestCase {
// insert statements for EdExtendedParent
List<String> loggedSql2 = LoggedSqlCollector.start();
assertEquals(1, loggedSql2.size());
assertEquals(2, loggedSql2.size());
assertTrue(loggedSql2.get(0).contains(" update td_parent "));
} finally {
Ebean.endTransaction();
}
}
@@ -12,7 +12,6 @@ import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
public class TestInsertBatchThenUpdate extends BaseTestCase {
@@ -21,8 +20,7 @@ public class TestInsertBatchThenUpdate extends BaseTestCase {
public void test() {
LoggedSqlCollector.start();
Transaction txn = Ebean.beginTransaction();
try {
try (Transaction txn = Ebean.beginTransaction()) {
txn.setBatchMode(true);
LoggedSqlCollector.start();
@@ -50,13 +48,10 @@ public class TestInsertBatchThenUpdate extends BaseTestCase {
// insert statements for EdExtendedParent
List<String> loggedSql = LoggedSqlCollector.stop();
assertThat(loggedSql).hasSize(3);
assertThat(loggedSql).hasSize(6);
assertThat(loggedSql.get(0)).contains("insert into td_parent");
assertThat(loggedSql.get(1)).contains("insert into td_child ");
assertThat(loggedSql.get(2)).contains("update td_parent set parent_name=? where parent_id=?");
} finally {
Ebean.endTransaction();
assertThat(loggedSql.get(2)).contains("insert into td_child ");
assertThat(loggedSql.get(4)).contains("update td_parent set parent_name=? where parent_id=?");
}
}
@@ -66,8 +61,7 @@ public class TestInsertBatchThenUpdate extends BaseTestCase {
public void test_noFlushOn_getterOfNonGeneratedProperty() {
LoggedSqlCollector.start();
Transaction txn = Ebean.beginTransaction();
try {
try (Transaction txn = Ebean.beginTransaction()) {
txn.setBatchMode(true);
LoggedSqlCollector.start();
@@ -97,12 +91,9 @@ public class TestInsertBatchThenUpdate extends BaseTestCase {
// insert statements for EdExtendedParent
List<String> loggedSql = LoggedSqlCollector.stop();
assertEquals(2, loggedSql.size());
assertThat(loggedSql).hasSize(4);
assertThat(loggedSql.get(0)).contains("insert into td_parent");
assertThat(loggedSql.get(1)).contains("insert into td_child ");
} finally {
Ebean.endTransaction();
assertThat(loggedSql.get(2)).contains("insert into td_child ");
}
}
@@ -20,8 +20,8 @@ public class TestInsertBatchWithDifferentRootTypes extends BaseTestCase {
public void testDifferRootTypes() {
LoggedSqlCollector.start();
Transaction txn = Ebean.beginTransaction();
try {
try (Transaction txn = Ebean.beginTransaction()) {
txn.setBatchMode(true);
EdParent parent = new EdParent();
@@ -63,10 +63,8 @@ public class TestInsertBatchWithDifferentRootTypes extends BaseTestCase {
// insert statements for EdExtendedParent
List<String> loggedSql2 = LoggedSqlCollector.start();
assertEquals(4, loggedSql2.size());
assertEquals(7, loggedSql2.size());
} finally {
Ebean.endTransaction();
}
}
@@ -114,7 +114,7 @@ public class TestElementCollectionBasic extends BaseTestCase {
}
List<String> sql = LoggedSqlCollector.current();
assertThat(sql).hasSize(1);
assertThat(sql).hasSize(2);
assertThat(sql.get(0)).contains("update ec_person");
assertThat(eventLog()).containsExactly("preUpdate", "postUpdate");
@@ -160,10 +160,10 @@ public class TestElementCollectionBasic extends BaseTestCase {
}
List<String> sql = LoggedSqlCollector.current();
assertThat(sql).hasSize(3);
assertThat(sql).hasSize(4);
assertThat(sql.get(0)).contains("update ec_person set name=?, version=? where id=? and version=?");
assertThat(sql.get(1)).contains("delete from ec_person_phone where owner_id=?");
assertThat(sql.get(2)).contains("insert into ec_person_phone (owner_id,phone) values (?,?)");
assertThat(sql.get(2)).contains("delete from ec_person_phone where owner_id=?");
assertThat(sql.get(3)).contains("insert into ec_person_phone (owner_id,phone) values (?,?)");
assertThat(eventLog()).containsExactly("preUpdate", "postUpdate");
@@ -30,10 +30,11 @@ public class TestOneToOneOrphanRemove extends BaseTestCase {
Ebean.save(jack);
List<String> sql = LoggedSqlCollector.current();
assertThat(sql).hasSize(3);
assertThat(sql).hasSize(4);
assertThat(sql.get(0)).contains("delete from oto_cust_address where aid=? and version=?");
assertThat(sql.get(1)).contains("update oto_cust set version=? where cid=? and version=?");
assertThat(sql.get(2)).contains("insert into oto_cust_address ");
assertThat(sql.get(3)).contains("-- bind(other1");
jack.setAddress(null);
Ebean.save(jack);
@@ -61,7 +61,7 @@ public class DeleteById_SoftDelete_Tests extends BaseTestCase {
List<String> sql = LoggedSqlCollector.stop();
assertThat(sql).hasSize(1);
assertThat(sql.get(0)).contains("update cover set deleted=? where id=?; --bind(false");
assertThat(sql.get(0)).contains("update cover set deleted=? where id=?; -- bind(false");
Cover findAgain = Ebean.find(Cover.class, cover.getId());
assertNotNull(findAgain);
@@ -215,7 +215,7 @@ public class DeleteById_SoftDelete_Tests extends BaseTestCase {
Ebean.deleteAll(beans);
List<String> sql = LoggedSqlCollector.stop();
assertThat(sql).hasSize(2);
assertThat(sql).hasSize(3);
if (isPersistBatchOnCascade()) {
assertThat(sql.get(0)).contains("update cover set s3_url=?, deleted=? where id=?");
}
@@ -236,7 +236,7 @@ public class DeleteById_SoftDelete_Tests extends BaseTestCase {
server.deleteAll(beans);
List<String> sql = LoggedSqlCollector.stop();
assertThat(sql).hasSize(2);
assertThat(sql).hasSize(3);
if (isPersistBatchOnCascade()) {
assertThat(sql.get(0)).contains("update cover set s3_url=?, deleted=? where id=?");
}
@@ -263,7 +263,7 @@ public class DeleteById_SoftDelete_Tests extends BaseTestCase {
}
List<String> sql = LoggedSqlCollector.stop();
assertThat(sql).hasSize(2);
assertThat(sql).hasSize(3);
if (isPersistBatchOnCascade()) {
assertThat(sql.get(0)).contains("update cover set s3_url=?, deleted=? where id=?");
}
@@ -284,7 +284,7 @@ public class DeleteById_SoftDelete_Tests extends BaseTestCase {
server.deleteAllPermanent(beans);
List<String> sql = LoggedSqlCollector.stop();
assertThat(sql).hasSize(2);
assertThat(sql).hasSize(3);
assertThat(sql.get(0)).contains("delete from cover where id=?");
}
@@ -306,7 +306,7 @@ public class DeleteById_SoftDelete_Tests extends BaseTestCase {
}
List<String> sql = LoggedSqlCollector.stop();
assertThat(sql).hasSize(2);
assertThat(sql).hasSize(3);
assertThat(sql.get(0)).contains("delete from cover where id=?");
}