Fixed bug mdev-5288.
This bug was a consequence of the incorrect fix for bug mdev-5091.
This commit is contained in:
parent
41b0545194
commit
f8a6ee59ac
@ -2224,7 +2224,7 @@ DROP VIEW v;
|
|||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
#
|
#
|
||||||
# mdev-5105: memory overwrite in multi-table update
|
# mdev-5105: memory overwrite in multi-table update
|
||||||
# using natuaral join with a view
|
# using natural join with a view
|
||||||
#
|
#
|
||||||
create table t1(a int,b tinyint,c tinyint)engine=myisam;
|
create table t1(a int,b tinyint,c tinyint)engine=myisam;
|
||||||
create table t2(a tinyint,b float,c int, d int, e int, f int, key (b), key(c), key(d), key(e), key(f))engine=myisam;
|
create table t2(a tinyint,b float,c int, d int, e int, f int, key (b), key(c), key(d), key(e), key(f))engine=myisam;
|
||||||
@ -2234,6 +2234,19 @@ update t3 natural join v1 set a:=1;
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
#
|
#
|
||||||
|
# mdev-5288: assertion failure for query over a view with ORDER BY
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a int, b int) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (4,1);
|
||||||
|
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t1;
|
||||||
|
EXPLAIN EXTENDED SELECT a FROM v1 WHERE a > 100 ORDER BY b;
|
||||||
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||||
|
Warnings:
|
||||||
|
Note 1003 select 4 AS `a` from `test`.`t1` where (4 > 100) order by 1
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
# end of 5.3 tests
|
# end of 5.3 tests
|
||||||
#
|
#
|
||||||
set optimizer_switch=@exit_optimizer_switch;
|
set optimizer_switch=@exit_optimizer_switch;
|
||||||
|
@ -1566,7 +1566,7 @@ DROP TABLE t1,t2;
|
|||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # mdev-5105: memory overwrite in multi-table update
|
--echo # mdev-5105: memory overwrite in multi-table update
|
||||||
--echo # using natuaral join with a view
|
--echo # using natural join with a view
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
create table t1(a int,b tinyint,c tinyint)engine=myisam;
|
create table t1(a int,b tinyint,c tinyint)engine=myisam;
|
||||||
@ -1578,6 +1578,19 @@ update t3 natural join v1 set a:=1;
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # mdev-5288: assertion failure for query over a view with ORDER BY
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a int, b int) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (4,1);
|
||||||
|
|
||||||
|
CREATE ALGORITHM=MERGE VIEW v1 AS SELECT * FROM t1;
|
||||||
|
EXPLAIN EXTENDED SELECT a FROM v1 WHERE a > 100 ORDER BY b;
|
||||||
|
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # end of 5.3 tests
|
--echo # end of 5.3 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -3534,7 +3534,7 @@ void SELECT_LEX::update_used_tables()
|
|||||||
}
|
}
|
||||||
for (ORDER *order= group_list.first; order; order= order->next)
|
for (ORDER *order= group_list.first; order; order= order->next)
|
||||||
(*order->item)->update_used_tables();
|
(*order->item)->update_used_tables();
|
||||||
if (master_unit()->global_parameters != this)
|
if (!master_unit()->is_union() || master_unit()->global_parameters != this)
|
||||||
{
|
{
|
||||||
for (ORDER *order= order_list.first; order; order= order->next)
|
for (ORDER *order= order_list.first; order; order= order->next)
|
||||||
(*order->item)->update_used_tables();
|
(*order->item)->update_used_tables();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user