mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Bug #31974: Wrong EXPLAIN output
The fix for bug 31148 is not correct. It does not have a relation to the problem described in this bug. And removing the fix will not make the bug to re-appear. Fixed the bug #31974 by removing the fix for bug 31148 and adding a test case. mysql-test/r/key.result: Bug #31974: test case mysql-test/t/key.test: Bug #31974: test case sql/sql_select.cc: Bug #31974: revert the fix for bug 31148
This commit is contained in:
parent
6a79a2196f
commit
860f7db3b9
3 changed files with 31 additions and 7 deletions
|
@ -545,3 +545,17 @@ c1
|
|||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
|
||||
INSERT INTO t1 (a, b)
|
||||
VALUES
|
||||
(1,1), (1,2), (1,3), (1,4), (1,5),
|
||||
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
|
||||
EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
2 SUBQUERY t1 range NULL a 5 NULL 8 Using index for group-by
|
||||
SELECT 1 as RES FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
RES
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -524,3 +524,20 @@ ORDER BY (
|
|||
LIMIT 1);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #31974: Wrong EXPLAIN output
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a INT, b INT, INDEX (a,b));
|
||||
INSERT INTO t1 (a, b)
|
||||
VALUES
|
||||
(1,1), (1,2), (1,3), (1,4), (1,5),
|
||||
(2,2), (2,3), (2,1), (3,1), (4,1), (4,2), (4,3), (4,4), (4,5), (4,6);
|
||||
EXPLAIN SELECT 1 FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
SELECT 1 as RES FROM t1 AS t1_outer WHERE
|
||||
(SELECT max(b) FROM t1 GROUP BY a HAVING a < 2) > 12;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -6651,14 +6651,7 @@ void JOIN::cleanup(bool full)
|
|||
for (tab= join_tab, end= tab+tables; tab != end; tab++)
|
||||
{
|
||||
if (tab->table)
|
||||
{
|
||||
if (tab->table->key_read)
|
||||
{
|
||||
tab->table->key_read= 0;
|
||||
tab->table->file->extra(HA_EXTRA_NO_KEYREAD);
|
||||
}
|
||||
tab->table->file->ha_index_or_rnd_end();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue