Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/17726-bug-5.0-mysql
This commit is contained in:
commit
3d37ec6b8b
@ -2539,3 +2539,17 @@ drop view v1;
|
|||||||
//
|
//
|
||||||
View Create View
|
View Create View
|
||||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache `test`.`t1`.`id` AS `id` from `t1`
|
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache `test`.`t1`.`id` AS `id` from `t1`
|
||||||
|
create table t1(f1 int, f2 int);
|
||||||
|
create view v1 as select ta.f1 as a, tb.f1 as b from t1 ta, t1 tb where ta.f1=tb
|
||||||
|
.f1 and ta.f2=tb.f2;
|
||||||
|
insert into t1 values(1,1),(2,2);
|
||||||
|
create view v2 as select * from v1 where a > 1 with check option;
|
||||||
|
select * from v2;
|
||||||
|
a b
|
||||||
|
2 2
|
||||||
|
update v2 set b=3 where a=2;
|
||||||
|
select * from v2;
|
||||||
|
a b
|
||||||
|
3 3
|
||||||
|
drop view v2, v1;
|
||||||
|
drop table t1;
|
||||||
|
@ -2385,3 +2385,17 @@ show create view v1;
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
//
|
//
|
||||||
delimiter ;//
|
delimiter ;//
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#17726 Not checked empty list caused endless loop
|
||||||
|
#
|
||||||
|
create table t1(f1 int, f2 int);
|
||||||
|
create view v1 as select ta.f1 as a, tb.f1 as b from t1 ta, t1 tb where ta.f1=tb
|
||||||
|
.f1 and ta.f2=tb.f2;
|
||||||
|
insert into t1 values(1,1),(2,2);
|
||||||
|
create view v2 as select * from v1 where a > 1 with check option;
|
||||||
|
select * from v2;
|
||||||
|
update v2 set b=3 where a=2;
|
||||||
|
select * from v2;
|
||||||
|
drop view v2, v1;
|
||||||
|
drop table t1;
|
||||||
|
@ -2547,7 +2547,8 @@ Item_cond::fix_fields(THD *thd, Item **ref)
|
|||||||
{
|
{
|
||||||
table_map tmp_table_map;
|
table_map tmp_table_map;
|
||||||
while (item->type() == Item::COND_ITEM &&
|
while (item->type() == Item::COND_ITEM &&
|
||||||
((Item_cond*) item)->functype() == functype())
|
((Item_cond*) item)->functype() == functype() &&
|
||||||
|
!((Item_cond*) item)->list.is_empty())
|
||||||
{ // Identical function
|
{ // Identical function
|
||||||
li.replace(((Item_cond*) item)->list);
|
li.replace(((Item_cond*) item)->list);
|
||||||
((Item_cond*) item)->list.empty();
|
((Item_cond*) item)->list.empty();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user