Use LIKE for text comparison in MS SQL (bug #3088222)

This commit is contained in:
Jakub Vrana 2010-10-16 16:31:01 +02:00
parent 1cf374bf48
commit 1a8d7f1733

View file

@ -237,10 +237,11 @@ function unique_array($row, $indexes) {
* @return string * @return string
*/ */
function where($where) { function where($where) {
global $jush;
$return = array(); $return = array();
foreach ((array) $where["where"] as $key => $val) { foreach ((array) $where["where"] as $key => $val) {
$return[] = idf_escape(bracket_escape($key, 1)) // 1 - back $return[] = idf_escape(bracket_escape($key, 1)) // 1 - back
. (ereg('\\.', $val) ? " LIKE " . exact_value(addcslashes($val, "%_")) : " = " . exact_value($val)) // LIKE because of floats, but slow with ints . (ereg('\\.', $val) || $jush == "mssql" ? " LIKE " . exact_value(addcslashes($val, "%_")) : " = " . exact_value($val)) // LIKE because of floats, but slow with ints, in MS SQL because of text
; //! enum and set ; //! enum and set
} }
foreach ((array) $where["null"] as $key) { foreach ((array) $where["null"] as $key) {