From 4aa22f10361132621296d645825c273fe5cb07d0 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Tue, 17 Aug 2021 11:11:13 +0200 Subject: [PATCH] IdoQuery: Qualify and resolve subquery filters ASAP fixes #4508 (cherry picked from commit 83557afd35dc85da01995be2a907f9223fb0bb84) --- .../library/Monitoring/Backend/Ido/Query/IdoQuery.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php index b6a4725fb..6a654d6f6 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php @@ -573,7 +573,10 @@ abstract class IdoQuery extends DbQuery $column = $subQuery->aliasToColumnName($alias); if (isset($this->caseInsensitiveColumns[$subQuery->aliasToTableName($alias)][$alias])) { $column = 'LOWER( ' . $column . ' )'; + $subQueryFilter->setColumn($column); $subQueryFilter->setExpression(array_map('strtolower', (array) $subQueryFilter->getExpression())); + } else { + $subQueryFilter->setColumn($column); } $additional = null; @@ -653,10 +656,6 @@ abstract class IdoQuery extends DbQuery $exists = new FilterExpression($negate ? 'NOT EXISTS' : 'EXISTS', '', new Zend_Db_Expr($subQuery)); if ($additional !== null) { - $alias = $additional->getColumn(); - $this->requireColumn($alias); - $additional->setColumn($this->aliasToColumnName($alias)); - return Filter::matchAll($exists, $additional); }