mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
join_outer.result, join_outer.test:
Added a test case for bug #11285. sql_select.cc: Fixed bug #11285. The problem occurred with Item_equal in an 'on expression' that was evaluated to false. sql/sql_select.cc: Fixed bug #11285. The problem occurred with Item_equal in an 'on expression' that was evaluated to false. mysql-test/t/join_outer.test: Added a test case for bug #11285. mysql-test/r/join_outer.result: Added a test case for bug #11285.
This commit is contained in:
@ -975,3 +975,11 @@ EMPNUM NAME GRP
|
||||
0 KERI 10
|
||||
9 BARRY NULL
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (c11 int);
|
||||
CREATE TABLE t2 (c21 int);
|
||||
INSERT INTO t1 VALUES (30), (40), (50);
|
||||
INSERT INTO t2 VALUES (300), (400), (500);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON (c11=c21 AND c21=30) WHERE c11=40;
|
||||
c11 c21
|
||||
40 NULL
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -698,4 +698,16 @@ SELECT * FROM v1 WHERE EMPNUM < 10;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Test for bug #11285: false Item_equal on expression in outer join
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c11 int);
|
||||
CREATE TABLE t2 (c21 int);
|
||||
INSERT INTO t1 VALUES (30), (40), (50);
|
||||
INSERT INTO t2 VALUES (300), (400), (500);
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON (c11=c21 AND c21=30) WHERE c11=40;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
|
@ -7064,7 +7064,7 @@ static COND* substitute_for_best_equal_field(COND *cond,
|
||||
List_iterator_fast<Item_equal> it(cond_equal->current_level);
|
||||
while ((item_equal= it++))
|
||||
{
|
||||
eliminate_item_equal(cond, cond_equal->upper_levels, item_equal);
|
||||
cond= eliminate_item_equal(cond, cond_equal->upper_levels, item_equal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user