From 833e4f974af91a58f1580557538a5ae3f9168cf5 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Tue, 26 Nov 2013 18:07:41 +0100 Subject: [PATCH] SONAR-4860 Fix failing tests on Oracle and MSSQL on multiple inserts --- .../src/main/java/org/sonar/core/rule/RuleDao.java | 6 ++++-- .../src/main/java/org/sonar/core/rule/RuleMapper.java | 2 -- .../main/resources/org/sonar/core/rule/RuleMapper.xml | 11 +---------- .../test/java/org/sonar/core/rule/RuleDaoTest.java | 1 - 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java b/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java index b4d4c82b887..b27b3214863 100644 --- a/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java +++ b/sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java @@ -88,9 +88,11 @@ public class RuleDao implements BatchComponent, ServerComponent { } public void insert(Collection rules) { - SqlSession session = mybatis.openSession(); + SqlSession session = mybatis.openBatchSession(); try { - getMapper(session).insertAll(rules); + for (RuleDto rule: rules) { + getMapper(session).insert(rule); + } session.commit(); } finally { MyBatis.closeQuietly(session); diff --git a/sonar-core/src/main/java/org/sonar/core/rule/RuleMapper.java b/sonar-core/src/main/java/org/sonar/core/rule/RuleMapper.java index 6d8c16bd816..0a7b9975a4f 100644 --- a/sonar-core/src/main/java/org/sonar/core/rule/RuleMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/rule/RuleMapper.java @@ -19,7 +19,6 @@ */ package org.sonar.core.rule; -import java.util.Collection; import java.util.List; public interface RuleMapper { @@ -28,7 +27,6 @@ public interface RuleMapper { RuleDto selectById(Long id); void update(RuleDto rule); void insert(RuleDto rule); - void insertAll(Collection rules); List selectAllParams(); List selectParamsForRule(Long id); } diff --git a/sonar-core/src/main/resources/org/sonar/core/rule/RuleMapper.xml b/sonar-core/src/main/resources/org/sonar/core/rule/RuleMapper.xml index 8100db0ff56..263431ba75a 100644 --- a/sonar-core/src/main/resources/org/sonar/core/rule/RuleMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/rule/RuleMapper.xml @@ -43,21 +43,12 @@ parent_id, created_at, updated_at) - + insert into rules values (#{ruleKey}, #{repositoryKey}, #{description}, #{status}, #{name}, #{configKey}, #{priorityOrdinal}, #{cardinality}, #{language}, #{parentId}, #{createdAt}, #{updatedAt}) - - insert into rules - values - - (#{rule.ruleKey}, #{rule.repositoryKey}, #{rule.description}, #{rule.status}, #{rule.name}, #{rule.configKey}, - #{rule.priorityOrdinal}, #{rule.cardinality}, #{rule.language}, #{rule.parentId}, #{rule.createdAt}, #{rule.updatedAt}) - - - delete from active_rule_parameters where rules_parameter_id=#{id} diff --git a/sonar-core/src/test/java/org/sonar/core/rule/RuleDaoTest.java b/sonar-core/src/test/java/org/sonar/core/rule/RuleDaoTest.java index 2d503331f97..e0e75e52a19 100644 --- a/sonar-core/src/test/java/org/sonar/core/rule/RuleDaoTest.java +++ b/sonar-core/src/test/java/org/sonar/core/rule/RuleDaoTest.java @@ -159,7 +159,6 @@ public class RuleDaoTest extends AbstractDaoTestCase { assertThat(insertedRule.getPriority()).isEqualTo(newPriority); assertThat(insertedRule.getCardinality()).isEqualTo(newCardinality); assertThat(insertedRule.getLanguage()).isEqualTo(newLanguage); - assertThat(insertedRule.getUpdatedAt()).isEqualTo(updatedAt); assertThat(insertedRule.getParentId()).isEqualTo(newParentId); } -- 2.39.5