summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-06-04 10:11:24 +0200
committerAleksander Machniak <alec@alec.pl>2012-06-04 10:13:42 +0200
commitfec9f1174ad74d043f2f47998ad44a0e61d13c59 (patch)
tree15c60312a41a37d52ca7950b9868d0cdbcabc46d
parent9ad08104fcac8613d8a92bd85d90dc81e302291a (diff)
Modify CONCAT() arguments, because + operator requires them to be of type varchar (#1488505)
With SQL Server 2012 we can use just CONCAT(), but we need to support older versions
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_mdb2.php5
2 files changed, 6 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 6aa506ad9..739641efb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix SQL query for contacts listing on MS SQL Server (#1488505)
- Update to TinyMCE 3.5.2
- Fix window.resize handler on IE8 and Opera (#1488453)
- Don't let error message popups cover the login form (#1488500)
diff --git a/program/include/rcube_mdb2.php b/program/include/rcube_mdb2.php
index c103f9a61..3d8891d2f 100644
--- a/program/include/rcube_mdb2.php
+++ b/program/include/rcube_mdb2.php
@@ -648,6 +648,11 @@ class rcube_mdb2
case 'mssql':
case 'sqlsrv':
$delim = ' + ';
+ // Modify arguments, because + operator requires them to be of type varchar (#1488505)
+ // with SQL Server 2012 we can use just CONCAT(), but we need to support older versions
+ foreach ($args as $idx => $arg) {
+ $args[$idx] = "CAST($arg AS varchar)";
+ }
break;
default:
$delim = ' || ';