mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix bug#13356 resolve_const_item() wasn't able to handle Item_row items.
resolve_const_item() assumed to be not called for Item_row items. For ensuring that DBUG_ASSERT(0) was set there. This patch adds section for Item_row items. If it can it recursively calls resolve_const_item() for each item the Item_row contains. If any of the contained items is null then whole Item_row substitued by Item_null. Otherwise it just returns. sql/item.cc: Fix bug#13356 resolve_const_item() wasn't able to handle Item_row items. Added section to resolve_const_item() for Item_row items. If it can it recursively calls resolve_const_item() for each item the Item_row contains. If any of the contained items is null then Item_row is substituted by Item_null. Otherwise it just returns. Comment moved closer to function it belongs to. mysql-test/t/select.test: Test case for bug#13356 resolve_const_item() wasn't able to handle Item_row items. mysql-test/r/select.result: Test case for bug#13356 resolve_const_item() wasn't able to handle Item_row items.
This commit is contained in:
@ -2617,3 +2617,12 @@ select found_rows();
|
||||
found_rows()
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1(f1 int, f2 int);
|
||||
create table t2(f3 int);
|
||||
select f1 from t1,t2 where f1=f2 and (f1,f2) = ((1,1));
|
||||
f1
|
||||
select f1 from t1,t2 where f1=f2 and (f1,NULL) = ((1,1));
|
||||
f1
|
||||
select f1 from t1,t2 where f1=f2 and (f1,f2) = ((1,NULL));
|
||||
f1
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user