mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +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
|
0 KERI 10
|
||||||
9 BARRY NULL
|
9 BARRY NULL
|
||||||
DROP TABLE t1,t2;
|
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;
|
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);
|
List_iterator_fast<Item_equal> it(cond_equal->current_level);
|
||||||
while ((item_equal= it++))
|
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