mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed bug #26017.
Objects of the class Item_equal contain an auxiliary member eval_item of the type cmp_item that is used only for direct evaluation of multiple equalities. Currently a multiple equality is evaluated directly only in the cases when the equality holds at most for one row in the result set. The compare collation of eval_item was determined incorectly. It could lead to returning incorrect results for some queries. mysql-test/r/join_outer.result: Added a test case for bug #26017. mysql-test/t/join_outer.test: Added a test case for bug #26017. sql/item_cmpfunc.cc: Fixed bug #26017. Objects of the class Item_equal contain an auxiliary member eval_item of the type cmp_item that is used only for direct evaluation of multiple equalities. Currently a multiple equality is evaluated directly only in the cases when the equality holds at most for one row in the result set. The compare collation of eval_item was determined incorrectly. It could lead to returning incorrect results for some queries. sql/item_cmpfunc.h: Fixed bug #26017. Removed the cmp_collation member from the Item_equal class as useless for the current implementation of the class.
This commit is contained in:
@ -1194,3 +1194,23 @@ a b
|
||||
3 3
|
||||
4 NULL
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
f1 varchar(16) collate latin1_swedish_ci PRIMARY KEY,
|
||||
f2 varchar(16) collate latin1_swedish_ci
|
||||
);
|
||||
CREATE TABLE t2 (
|
||||
f1 varchar(16) collate latin1_swedish_ci PRIMARY KEY,
|
||||
f3 varchar(16) collate latin1_swedish_ci
|
||||
);
|
||||
INSERT INTO t1 VALUES ('bla','blah');
|
||||
INSERT INTO t2 VALUES ('bla','sheep');
|
||||
SELECT * FROM t1 JOIN t2 USING(f1) WHERE f1='Bla';
|
||||
f1 f2 f3
|
||||
bla blah sheep
|
||||
SELECT * FROM t1 LEFT JOIN t2 USING(f1) WHERE f1='bla';
|
||||
f1 f2 f3
|
||||
bla blah sheep
|
||||
SELECT * FROM t1 LEFT JOIN t2 USING(f1) WHERE f1='Bla';
|
||||
f1 f2 f3
|
||||
bla blah sheep
|
||||
DROP TABLE t1,t2;
|
||||
|
Reference in New Issue
Block a user