From e447622a3d334832265bec884ea6b759343bdada Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Sat, 6 Apr 2024 17:12:35 +0200 Subject: [PATCH] Refactor handleRollbackRequest() Signed-off-by: Kamil Tekiela --- phpstan-baseline.neon | 5 ----- psalm-baseline.xml | 1 - src/Controllers/Import/ImportController.php | 6 ++--- src/Import/Import.php | 25 +++++---------------- 4 files changed, 8 insertions(+), 29 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 86fd4d008a..b1c38b9e72 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -8545,11 +8545,6 @@ parameters: count: 1 path: src/Import/Import.php - - - message: "#^Only booleans are allowed in an if condition, string\\|false given\\.$#" - count: 1 - path: src/Import/Import.php - - message: "#^Parameter \\#1 \\$precision of static method PhpMyAdmin\\\\Import\\\\DecimalSize\\:\\:fromPrecisionAndScale\\(\\) expects int, int\\|PhpMyAdmin\\\\Import\\\\DecimalSize given\\.$#" count: 1 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 3fb7fe2d7f..7861285346 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -6680,7 +6680,6 @@ - diff --git a/src/Controllers/Import/ImportController.php b/src/Controllers/Import/ImportController.php index 1c405f73fa..aad79613f2 100644 --- a/src/Controllers/Import/ImportController.php +++ b/src/Controllers/Import/ImportController.php @@ -712,12 +712,10 @@ final class ImportController extends AbstractController } // If there is request for ROLLBACK in the end. - if (! $request->hasBodyParam('rollback_query')) { - return null; + if ($request->hasBodyParam('rollback_query')) { + $this->dbi->query('ROLLBACK'); } - $this->dbi->query('ROLLBACK'); - return null; } } diff --git a/src/Import/Import.php b/src/Import/Import.php index 19a20a8d2b..fa6bcd7b6f 100644 --- a/src/Import/Import.php +++ b/src/Import/Import.php @@ -928,20 +928,10 @@ class Import ImportSettings::$importNotice = $message; } - /** - * Handles request for ROLLBACK. - * - * @param string $sqlQuery SQL query(s) - */ public function handleRollbackRequest(string $sqlQuery): void { $sqlDelimiter = $_POST['sql_delimiter']; $queries = explode($sqlDelimiter, $sqlQuery); - $error = false; - $errorMsg = __( - 'Only INSERT, UPDATE, DELETE and REPLACE ' - . 'SQL queries containing transactional engine tables can be rolled back.', - ); $dbi = DatabaseInterface::getInstance(); foreach ($queries as $sqlQuery) { if ($sqlQuery === '') { @@ -953,17 +943,14 @@ class Import continue; } - $globalError = $dbi->getError(); - $error = $globalError !== '' ? $globalError : $errorMsg; + $sqlError = $dbi->getError(); + $error = $sqlError !== '' ? $sqlError : __( + 'Only INSERT, UPDATE, DELETE and REPLACE ' + . 'SQL queries containing transactional engine tables can be rolled back.', + ); - break; - } - - if ($error) { - unset($_POST['rollback_query']); $response = ResponseRenderer::getInstance(); - $message = Message::rawError($error); - $response->addJSON('message', $message); + $response->addJSON('message', Message::rawError($error)); $response->callExit(); }