Skip to content

Commit a562b15

Browse files
committed
#22266 CR
1 parent a5c4a91 commit a562b15

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

app/code/Magento/UrlRewrite/Model/Storage/DbStorage.php

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -139,21 +139,21 @@ private function extractMostRelevantUrlRewrite(string $requestPath, array $urlRe
139139
$prioritizedUrlRewrites = [];
140140
foreach ($urlRewrites as $urlRewrite) {
141141
switch (true) {
142-
case $urlRewrite[UrlRewrite::REQUEST_PATH] === $requestPath:
143-
$priority = 1;
144-
break;
145-
case $urlRewrite[UrlRewrite::REQUEST_PATH] === urldecode($requestPath):
146-
$priority = 2;
147-
break;
148-
case rtrim($urlRewrite[UrlRewrite::REQUEST_PATH], '/') === rtrim($requestPath, '/'):
149-
$priority = 3;
150-
break;
151-
case rtrim($urlRewrite[UrlRewrite::REQUEST_PATH], '/') === rtrim(urldecode($requestPath), '/'):
152-
$priority = 4;
153-
break;
154-
default:
155-
$priority = 5;
156-
break;
142+
case $urlRewrite[UrlRewrite::REQUEST_PATH] === $requestPath:
143+
$priority = 1;
144+
break;
145+
case $urlRewrite[UrlRewrite::REQUEST_PATH] === urldecode($requestPath):
146+
$priority = 2;
147+
break;
148+
case rtrim($urlRewrite[UrlRewrite::REQUEST_PATH], '/') === rtrim($requestPath, '/'):
149+
$priority = 3;
150+
break;
151+
case rtrim($urlRewrite[UrlRewrite::REQUEST_PATH], '/') === rtrim(urldecode($requestPath), '/'):
152+
$priority = 4;
153+
break;
154+
default:
155+
$priority = 5;
156+
break;
157157
}
158158
$prioritizedUrlRewrites[$priority] = $urlRewrite;
159159
}
@@ -271,13 +271,14 @@ protected function doReplace(array $urls): array
271271
{
272272
$this->connection->beginTransaction();
273273

274-
$this->deleteOldUrls($urls);
275-
276-
$data = [];
277-
foreach ($urls as $url) {
278-
$data[] = $url->toArray();
279-
}
280274
try {
275+
$this->deleteOldUrls($urls);
276+
277+
$data = [];
278+
foreach ($urls as $url) {
279+
$data[] = $url->toArray();
280+
}
281+
281282
$this->insertMultiple($data);
282283

283284
$this->connection->commit();
@@ -307,6 +308,9 @@ protected function doReplace(array $urls): array
307308
} else {
308309
throw $e->getPrevious() ?: $e;
309310
}
311+
} catch (\Exception $e) {
312+
$this->connection->rollBack();
313+
throw $e;
310314
}
311315

312316
return $urls;

0 commit comments

Comments
 (0)