From b078d6c68f82f305105bc629077e9ff274655c0d Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Thu, 17 Jul 2014 15:03:05 +0200 Subject: [PATCH] SONAR-5463 log the total number of processed rows and add missing unit tests on DECIMAL columns --- .../server/db/migrations/MassUpdate.java | 8 +++++++ .../db/migrations/BaseDataChangeTest.java | 21 ++++++++++++------- .../batch-insert-result.xml | 10 ++++----- .../BaseDataChangeTest/insert-result.xml | 8 +++---- .../BaseDataChangeTest/mass-update-result.xml | 6 +++--- .../migrations/BaseDataChangeTest/persons.xml | 6 +++--- .../migrations/BaseDataChangeTest/schema.sql | 3 ++- .../scroll-and-update-result.xml | 6 +++--- .../BaseDataChangeTest/update-null-result.xml | 6 +++--- 9 files changed, 45 insertions(+), 29 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java index f3612826774..4bf93b2a845 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MassUpdate.java @@ -89,9 +89,13 @@ public class MassUpdate { update.execute().commit(); } update.close(); + + // log the total number of process rows + progressTask.log(); } finally { timer.cancel(); timer.purge(); + timer = null; } } @@ -111,6 +115,10 @@ public class MassUpdate { @Override public void run() { + log(); + } + + void log() { logger.info(String.format("%d %s processed", counter.get(), rowName)); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java index 2896cb6384b..c8190fe267f 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/BaseDataChangeTest.java @@ -66,7 +66,7 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { @Override public void execute(Context context) throws SQLException { persons.addAll(context - .prepareSelect("select id,login,age,enabled,updated_at from persons where id=2") + .prepareSelect("select id,login,age,enabled,updated_at,coeff from persons where id=2") .list(new UserReader())); } }.execute(); @@ -76,6 +76,7 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { assertThat(persons.get(0)[2]).isEqualTo(14); assertThat(persons.get(0)[3]).isEqualTo(true); assertThat(persons.get(0)[4]).isNotNull(); + assertThat(persons.get(0)[5]).isEqualTo(5.2); } @Test @@ -138,11 +139,12 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { new BaseDataChange(db.database()) { @Override public void execute(Context context) throws SQLException { - context.prepareUpsert("insert into persons(id,login,age,enabled) values (?,?,?,?)") + context.prepareUpsert("insert into persons(id,login,age,enabled,coeff) values (?,?,?,?,?)") .setLong(1, 10L) .setString(2, "kurt") .setInt(3, 27) .setBoolean(4, true) + .setDouble(5, 2.2) .execute().commit().close(); } }.execute(); @@ -157,18 +159,20 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { new BaseDataChange(db.database()) { @Override public void execute(Context context) throws SQLException { - Upsert upsert = context.prepareUpsert("insert into persons(id,login,age,enabled) values (?,?,?,?)"); + Upsert upsert = context.prepareUpsert("insert into persons(id,login,age,enabled,coeff) values (?,?,?,?,?)"); upsert .setLong(1, 10L) .setString(2, "kurt") .setInt(3, 27) .setBoolean(4, true) + .setDouble(5, 2.2) .addBatch(); upsert .setLong(1, 11L) .setString(2, "courtney") .setInt(3, 25) .setBoolean(4, false) + .setDouble(5, 2.3) .addBatch(); upsert.execute().commit().close(); } @@ -184,13 +188,14 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { new BaseDataChange(db.database()) { @Override public void execute(Context context) throws SQLException { - Upsert upsert = context.prepareUpsert("update persons set login=?,age=?,enabled=?, updated_at=? where id=?"); + Upsert upsert = context.prepareUpsert("update persons set login=?,age=?,enabled=?, updated_at=?, coeff=? where id=?"); upsert .setString(1, null) .setInt(2, null) .setBoolean(3, null) .setDate(4, null) - .setLong(5, 2L) + .setDouble(5, null) + .setLong(6, 2L) .execute() .commit() .close(); @@ -208,13 +213,14 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { new BaseDataChange(db.database()) { @Override public void execute(Context context) throws SQLException { - Upsert upsert = context.prepareUpsert("insert into persons(id,login,age,enabled) values (?,?,?,?)"); + Upsert upsert = context.prepareUpsert("insert into persons(id,login,age,enabled,coeff) values (?,?,?,?,?)"); for (int i = 0; i < count; i++) { upsert .setLong(1, 10L + i) .setString(2, "login" + i) .setInt(3, 10 + i) .setBoolean(4, true) + .setDouble(4, i + 0.5) .addBatch(); } upsert.execute().commit().close(); @@ -332,7 +338,8 @@ public class BaseDataChangeTest extends AbstractDaoTestCase { row.getString(2), row.getInt(3), row.getBoolean(4), - row.getDate(5) + row.getDate(5), + row.getDouble(6), }; } } diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/batch-insert-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/batch-insert-result.xml index b5598944c19..96ecbf4062f 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/batch-insert-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/batch-insert-result.xml @@ -1,8 +1,8 @@ - - - + + + - - + + diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/insert-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/insert-result.xml index 007c460660c..32b7ac03f06 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/insert-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/insert-result.xml @@ -1,7 +1,7 @@ - - - + + + - + diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/mass-update-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/mass-update-result.xml index bb49e5580c9..9eb2317febf 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/mass-update-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/mass-update-result.xml @@ -1,5 +1,5 @@ - - - + + + diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/persons.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/persons.xml index 3bc2f0aa6d9..62c226d53b7 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/persons.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/persons.xml @@ -1,5 +1,5 @@ - - - + + + diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/schema.sql b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/schema.sql index 8890f85d73c..499b25b599d 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/schema.sql +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/schema.sql @@ -3,5 +3,6 @@ CREATE TABLE "PERSONS" ( "LOGIN" VARCHAR(50), "AGE" INTEGER, "ENABLED" BOOLEAN, - "UPDATED_AT" TIMESTAMP + "UPDATED_AT" TIMESTAMP, + "COEFF" DOUBLE ); diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/scroll-and-update-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/scroll-and-update-result.xml index 775a3663443..0cf4e593d4d 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/scroll-and-update-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/scroll-and-update-result.xml @@ -1,5 +1,5 @@ - - - + + + diff --git a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/update-null-result.xml b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/update-null-result.xml index 9044f69354d..ec48c899b40 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/update-null-result.xml +++ b/server/sonar-server/src/test/resources/org/sonar/server/db/migrations/BaseDataChangeTest/update-null-result.xml @@ -1,5 +1,5 @@ - - - + + + -- 2.39.5