]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix LENGTH function name across databases 31696/head
authorCôme Chilliet <come.chilliet@nextcloud.com>
Sun, 27 Mar 2022 22:01:17 +0000 (00:01 +0200)
committerCôme Chilliet <come.chilliet@nextcloud.com>
Sun, 27 Mar 2022 22:01:17 +0000 (00:01 +0200)
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
lib/private/DB/QueryBuilder/FunctionBuilder/FunctionBuilder.php
lib/private/DB/QueryBuilder/FunctionBuilder/OCIFunctionBuilder.php
lib/private/DB/QueryBuilder/FunctionBuilder/SqliteFunctionBuilder.php

index e121374a763a83ccc40f87fbd7f037c89e6ade33..e0a7549a0ad43a355c644e17452c90dcff72e8e5 100644 (file)
@@ -103,7 +103,7 @@ class FunctionBuilder implements IFunctionBuilder {
        public function charLength($field, $alias = ''): IQueryFunction {
                $alias = $alias ? (' AS ' . $this->helper->quoteColumnName($alias)) : '';
                $quotedName = $this->helper->quoteColumnName($field);
-               return new QueryFunction('LENGTH(' . $quotedName . ')' . $alias);
+               return new QueryFunction('CHAR_LENGTH(' . $quotedName . ')' . $alias);
        }
 
        public function max($field): IQueryFunction {
index 1a9eae3c21f3ef005eada1c0f33ec5f989ac3811..a9844ec337323d1b590639490206ff3f64d32e49 100644 (file)
@@ -97,4 +97,10 @@ class OCIFunctionBuilder extends FunctionBuilder {
                $quotedName = $this->helper->quoteColumnName($field);
                return new QueryFunction('LENGTHB(' . $quotedName . ')' . $alias);
        }
+
+       public function charLength($field, $alias = ''): IQueryFunction {
+               $alias = $alias ? (' AS ' . $this->helper->quoteColumnName($alias)) : '';
+               $quotedName = $this->helper->quoteColumnName($field);
+               return new QueryFunction('LENGTH(' . $quotedName . ')' . $alias);
+       }
 }
index 4e9e83a49d2c871dcdc618ce0dc8d0abb085e45b..bb97d2e29f97f3e397fca5fd04ceb0e9c6f3896b 100644 (file)
@@ -54,4 +54,10 @@ class SqliteFunctionBuilder extends FunctionBuilder {
                $quotedName = $this->helper->quoteColumnName($field);
                return new QueryFunction('LENGTH(CAST(' . $quotedName . ' as BLOB))' . $alias);
        }
+
+       public function charLength($field, $alias = ''): IQueryFunction {
+               $alias = $alias ? (' AS ' . $this->helper->quoteColumnName($alias)) : '';
+               $quotedName = $this->helper->quoteColumnName($field);
+               return new QueryFunction('LENGTH(' . $quotedName . ')' . $alias);
+       }
 }