@@ -395,10 +395,6 @@ public function deleteActivities($conditions): void {
395395
396396 $ deleteQuery ->andWhere ($ deleteQuery ->expr ()->comparison ($ column , $ operation , $ deleteQuery ->createNamedParameter ($ value )));
397397 }
398-
399-
400-
401-
402398 // Dont use chunked delete - let the DB handle the large row count natively
403399 $ deleteQuery ->executeStatement ();
404400 }
@@ -495,7 +491,7 @@ private function deleteActivitiesForMySQL(array $conditions): void {
495491 $ query ->where ($ query ->expr ()->comparison ($ column , $ operation , $ query ->createNamedParameter ($ value )));
496492 }
497493
498- $ query ->setMaxResults (10000 );
494+ $ query ->setMaxResults (50000 );
499495 $ result = $ query ->executeQuery ();
500496 $ count = $ result ->rowCount ();
501497 if ($ count === 0 ) {
@@ -506,12 +502,15 @@ private function deleteActivitiesForMySQL(array $conditions): void {
506502 }, $ result ->fetchAll (\PDO ::FETCH_NUM ));
507503 $ result ->closeCursor ();
508504
505+ $ queryResult = 0 ;
509506 $ deleteQuery = $ this ->connection ->getQueryBuilder ();
510507 $ deleteQuery ->delete ('activity ' );
511508 $ deleteQuery ->where ($ deleteQuery ->expr ()->in ('activity_id ' , $ deleteQuery ->createParameter ('ids ' ), IQueryBuilder::PARAM_INT_ARRAY ));
512- $ deleteQuery ->setParameter ('ids ' , $ ids , IQueryBuilder::PARAM_INT_ARRAY );
513- $ queryResult = $ deleteQuery ->executeStatement ();
514- if ($ queryResult === 10000 ) {
509+ foreach (array_chunk ($ ids , 1000 ) as $ chunk ) {
510+ $ deleteQuery ->setParameter ('ids ' , $ chunk , IQueryBuilder::PARAM_INT_ARRAY );
511+ $ queryResult += $ deleteQuery ->executeStatement ();
512+ }
513+ if ($ queryResult === 50000 ) {
515514 $ this ->deleteActivitiesForMySQL ($ conditions );
516515 }
517516 }
0 commit comments