@@ -213,16 +213,15 @@ private function prepareUrlRewrite(string $requestPath, array $urlRewrite): arra
213
213
/**
214
214
* Delete old URLs from DB.
215
215
*
216
- * @param UrlRewrite[] $urls
216
+ * @param array $uniqueEntities
217
217
* @return void
218
218
*/
219
- private function deleteOldUrls (array $ urls ): void
219
+ private function deleteOldUrls (array $ uniqueEntities ): void
220
220
{
221
221
$ oldUrlsSelect = $ this ->connection ->select ();
222
222
$ oldUrlsSelect ->from (
223
223
$ this ->resource ->getTableName (self ::TABLE_NAME )
224
224
);
225
- $ uniqueEntities = $ this ->prepareUniqueEntities ($ urls );
226
225
foreach ($ uniqueEntities as $ storeId => $ entityTypes ) {
227
226
foreach ($ entityTypes as $ entityType => $ entities ) {
228
227
$ oldUrlsSelect ->orWhere (
@@ -271,14 +270,15 @@ private function prepareUniqueEntities(array $urls): array
271
270
*/
272
271
protected function doReplace (array $ urls ): array
273
272
{
273
+ $ uniqueEntities = $ this ->prepareUniqueEntities ($ urls );
274
+ $ data = [];
275
+ foreach ($ urls as $ url ) {
276
+ $ data [] = $ url ->toArray ();
277
+ }
274
278
for ($ tries = 0 ; $ tries < $ this ->maxRetryCount ; $ tries ++) {
275
279
$ this ->connection ->beginTransaction ();
276
280
try {
277
- $ this ->deleteOldUrls ($ urls );
278
- $ data = [];
279
- foreach ($ urls as $ url ) {
280
- $ data [] = $ url ->toArray ();
281
- }
281
+ $ this ->deleteOldUrls ($ uniqueEntities );
282
282
$ this ->upsertMultiple ($ data );
283
283
$ this ->connection ->commit ();
284
284
} catch (\Magento \Framework \DB \Adapter \DeadlockException $ deadlockException ) {
0 commit comments