mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
merge
This commit is contained in:
@@ -3025,6 +3025,24 @@ Warnings:
|
|||||||
Note 1003 select 1 AS `1` from `test`.`t1` `t2` left join `test`.`t1` on(1) where 1
|
Note 1003 select 1 AS `1` from `test`.`t1` `t2` left join `test`.`t1` on(1) where 1
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# Bug#54488 crash when using explain and prepared statements with subqueries
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(f1 INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(1);
|
||||||
|
PREPARE stmt FROM 'EXPLAIN SELECT 1 FROM t1 WHERE (SELECT (SELECT 1 FROM t1 GROUP BY f1))';
|
||||||
|
EXECUTE stmt;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
|
||||||
|
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||||
|
EXECUTE stmt;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
|
||||||
|
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary; Using filesort
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
End of 5.1 tests.
|
End of 5.1 tests.
|
||||||
|
|
||||||
|
@@ -3090,6 +3090,17 @@ EXECUTE stmt;
|
|||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug#54488 crash when using explain and prepared statements with subqueries
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1(f1 INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(1);
|
||||||
|
PREPARE stmt FROM 'EXPLAIN SELECT 1 FROM t1 WHERE (SELECT (SELECT 1 FROM t1 GROUP BY f1))';
|
||||||
|
EXECUTE stmt;
|
||||||
|
EXECUTE stmt;
|
||||||
|
DEALLOCATE PREPARE stmt;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo
|
--echo
|
||||||
--echo End of 5.1 tests.
|
--echo End of 5.1 tests.
|
||||||
|
|
||||||
|
@@ -1911,7 +1911,10 @@ int subselect_single_select_engine::exec()
|
|||||||
}
|
}
|
||||||
if (!select_lex->uncacheable && thd->lex->describe &&
|
if (!select_lex->uncacheable && thd->lex->describe &&
|
||||||
!(join->select_options & SELECT_DESCRIBE) &&
|
!(join->select_options & SELECT_DESCRIBE) &&
|
||||||
join->need_tmp && item->const_item())
|
join->need_tmp)
|
||||||
|
{
|
||||||
|
item->update_used_tables();
|
||||||
|
if (item->const_item())
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
Force join->join_tmp creation, because this subquery will be replaced
|
Force join->join_tmp creation, because this subquery will be replaced
|
||||||
@@ -1924,6 +1927,7 @@ int subselect_single_select_engine::exec()
|
|||||||
if (join->init_save_join_tab())
|
if (join->init_save_join_tab())
|
||||||
DBUG_RETURN(1); /* purecov: inspected */
|
DBUG_RETURN(1); /* purecov: inspected */
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (item->engine_changed)
|
if (item->engine_changed)
|
||||||
{
|
{
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
|
Reference in New Issue
Block a user