summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorigor@olga.mysql.com <>2007-04-03 14:32:16 -0700
committerigor@olga.mysql.com <>2007-04-03 14:32:16 -0700
commit90aa05d276b85367c297cc9f7580529aa782d205 (patch)
treee90d79897083451cbc230aff17bff648cad1e287 /sql/item_cmpfunc.h
parent466586472b97cabea45d21058c23a68d87005857 (diff)
downloadmariadb-git-90aa05d276b85367c297cc9f7580529aa782d205.tar.gz
Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing
IN/BETWEEN predicates in sorting expressions. Wrong results may occur when the select list contains an expression with IN/BETWEEN predicate that differs from a sorting expression by an additional NOT only. Added the method Item_func_opt_neg::eq to compare correctly expressions containing [NOT] IN/BETWEEN. The eq method inherited from the Item_func returns TRUE when comparing 'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r--sql/item_cmpfunc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index a13be83e093..132e019b4a3 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -405,6 +405,7 @@ public:
negated= !negated;
return this;
}
+ bool eq(const Item *item, bool binary_cmp) const;
};