diff options
Diffstat (limited to 'server/sonar-db-migration')
-rw-r--r-- | server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/PopulateFileSourceLineCount.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/PopulateFileSourceLineCount.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/PopulateFileSourceLineCount.java index 756f4d9c666..104842085a8 100644 --- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/PopulateFileSourceLineCount.java +++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/PopulateFileSourceLineCount.java @@ -47,8 +47,11 @@ public class PopulateFileSourceLineCount extends DataChange { protected void execute(Context context) throws SQLException { MassUpdate massUpdate = context.prepareMassUpdate(); massUpdate.select("select distinct project_uuid from file_sources where line_count is null"); - massUpdate.update("update file_sources set line_count = ? where project_uuid = ?"); - massUpdate.rowPluralName("file source line counts"); + massUpdate.update("update file_sources set line_count = ? where project_uuid = ?") + // Having transactions involving many rows can be very slow and should be avoided. + // A project can have many file_sources, so transaction is committed after each project. + .setBatchSize(1); + massUpdate.rowPluralName("file sources"); massUpdate.execute(PopulateFileSourceLineCount::handle); } |