From c6ad571fd2ad96dc8a908ec9eb64015780db79e1 Mon Sep 17 00:00:00 2001 From: Claus Due <claus@namelesscoder.net> Date: Sat, 26 Nov 2016 14:43:57 +0100 Subject: [PATCH] [BUGFIX] Avoid building SQL deleteClause expression if unused MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch avoids building an instance of ConnectionPool, getting a QueryBuilder and building an expression unless that expression is needed by the function. Also switches a condition with else clause to an early return guard clause (cosmetic only). Change-Id: I804b3ff9e624aa4b8b9c760d2a5e858039b6f9b9 Resolves: #78806 Releases: master Reviewed-on: https://review.typo3.org/50784 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Stephan Großberndt <stephan@grossberndt.de> Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de> Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../backend/Classes/Utility/BackendUtility.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/typo3/sysext/backend/Classes/Utility/BackendUtility.php b/typo3/sysext/backend/Classes/Utility/BackendUtility.php index d1763e5eb4cd..029edc770861 100644 --- a/typo3/sysext/backend/Classes/Utility/BackendUtility.php +++ b/typo3/sysext/backend/Classes/Utility/BackendUtility.php @@ -83,18 +83,16 @@ class BackendUtility */ public static function deleteClause($table, $tableAlias = '') { + if (empty($GLOBALS['TCA'][$table]['ctrl']['delete'])) { + return ''; + } $expressionBuilder = GeneralUtility::makeInstance(ConnectionPool::class) ->getQueryBuilderForTable($table) ->expr(); - - if (!empty($GLOBALS['TCA'][$table]['ctrl']['delete'])) { - return ' AND ' . $expressionBuilder->eq( - ($tableAlias ?: $table) . '.' . $GLOBALS['TCA'][$table]['ctrl']['delete'], - 0 - ); - } else { - return ''; - } + return ' AND ' . $expressionBuilder->eq( + ($tableAlias ?: $table) . '.' . $GLOBALS['TCA'][$table]['ctrl']['delete'], + 0 + ); } /** -- GitLab