From 4ec783b75eeca7bfb53c202236ea04b6a07cbecb Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Fri, 27 Apr 2018 15:30:47 +0200 Subject: [PATCH] IdoQuery: Use a dynamic collation when joining custom variables refs #2508 --- .../library/Monitoring/Backend/Ido/Query/IdoQuery.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php index 1983c3b31..f987e1a1a 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/IdoQuery.php @@ -106,8 +106,7 @@ abstract class IdoQuery extends DbQuery * * @var string */ - private $customVarsJoinTemplate = - '%1$s = %2$s.object_id AND %2$s.varname = %3$s COLLATE latin1_general_ci'; + private $customVarsJoinTemplate = '%1$s = %2$s.object_id AND %2$s.varname = %3$s'; /** * An array with all 'virtual' tables that are already joined @@ -701,6 +700,9 @@ abstract class IdoQuery extends DbQuery $this->initializeForOracle(); } elseif ($dbType === 'pgsql') { $this->initializeForPostgres(); + } else { + $charset = $this->ds->getConfig()->get('charset') ?: 'latin1'; + $this->customVarsJoinTemplate .= " COLLATE {$charset}_general_ci"; } $this->joinBaseTables(); $this->select->columns($this->columns);