From d07208bd2cc10e09b4e8136c90c71bd331c1d80e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= Date: Tue, 29 Mar 2022 17:01:41 +0200 Subject: [PATCH] Use the new octetLength function to filter lines to migrate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Côme Chilliet --- .../lib/Migration/Version1141Date20220323143801.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/apps/user_ldap/lib/Migration/Version1141Date20220323143801.php b/apps/user_ldap/lib/Migration/Version1141Date20220323143801.php index 84663466bd7..be496d9215e 100644 --- a/apps/user_ldap/lib/Migration/Version1141Date20220323143801.php +++ b/apps/user_ldap/lib/Migration/Version1141Date20220323143801.php @@ -48,19 +48,15 @@ class Version1141Date20220323143801 extends SimpleMigrationStep { */ public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void { foreach (['ldap_user_mapping', 'ldap_group_mapping'] as $tableName) { - $dnsTooLong = []; - $lengthExpr = $this->dbc->getDatabasePlatform()->getLengthExpression('ldap_dn'); - $qb = $this->dbc->getQueryBuilder(); $qb->select('ldap_dn') ->from($tableName) - ->where($qb->expr()->gt($qb->createFunction($lengthExpr), '255', IQueryBuilder::PARAM_INT)); + ->where($qb->expr()->gt($qb->func()->octetLength('ldap_dn'), '4000', IQueryBuilder::PARAM_INT)); + $dnsTooLong = []; $result = $qb->executeQuery(); - while(($dn = $result->fetchOne()) !== false) { - if(mb_strlen($dn) > 4000) { - $dnsTooLong[] = $dn; - } + while (($dn = $result->fetchOne()) !== false) { + $dnsTooLong[] = $dn; } $result->closeCursor(); $this->shortenDNs($dnsTooLong, $tableName);