mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 03:17:20 +02:00
Bug#37548: result value erronously reported being NULL in certain subqueries
When switching to indexed ORDER BY we must be sure to reset the index read
flag if we are switching from a covering index to non-covering.
mysql-test/r/subselect.result:
Bug#37548: test case
mysql-test/t/subselect.test:
Bug#37548: test case
sql/sql_select.cc:
Bug#37548: update the index read flag if the index for indexed ORDER BY is not
covering.
This commit is contained in:
parent
0969405012
commit
cab267ecc7
3 changed files with 93 additions and 0 deletions
|
|
@ -3273,3 +3273,47 @@ INSERT INTO t1 VALUES ('a');
|
|||
SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1);
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #37548: result value erronously reported being NULL in certain subqueries
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int, b int, PRIMARY KEY (a), KEY b (b));
|
||||
|
||||
INSERT INTO t1 VALUES (1,NULL), (9,NULL);
|
||||
|
||||
CREATE TABLE t2 (
|
||||
a int,
|
||||
b int,
|
||||
c int,
|
||||
d int,
|
||||
PRIMARY KEY (a),
|
||||
UNIQUE KEY b (b,c,d),
|
||||
KEY b_2 (b),
|
||||
KEY c (c),
|
||||
KEY d (d)
|
||||
);
|
||||
|
||||
INSERT INTO t2 VALUES
|
||||
(43, 2, 11 ,30),
|
||||
(44, 2, 12 ,30),
|
||||
(45, 1, 1 ,10000),
|
||||
(46, 1, 2 ,10000),
|
||||
(556,1, 32 ,10000);
|
||||
|
||||
CREATE TABLE t3 (
|
||||
a int,
|
||||
b int,
|
||||
c int,
|
||||
PRIMARY KEY (a),
|
||||
UNIQUE KEY b (b,c),
|
||||
KEY c (c),
|
||||
KEY b_2 (b)
|
||||
);
|
||||
|
||||
INSERT INTO t3 VALUES (1,1,1), (2,32,1);
|
||||
|
||||
explain
|
||||
SELECT t1.a, (SELECT 1 FROM t2 WHERE t2.b=t3.c AND t2.c=t1.a ORDER BY t2.d LIMIT 1) AS incorrect FROM t1, t3 WHERE t3.b=t1.a;
|
||||
SELECT t1.a, (SELECT 1 FROM t2 WHERE t2.b=t3.c AND t2.c=t1.a ORDER BY t2.d LIMIT 1) AS incorrect FROM t1, t3 WHERE t3.b=t1.a;
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue