1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-5113 Wrong result (extra row) and valgrind warnings in Item_maxmin_subselect::any_value on 2nd execution of PS with SELECT subquery

When setting Item_func_not_all::test_sum_item or Item_func_not_all::test_sub_item,
reset the other one to NULL - they can never be set both. When a PS is reexecuted,
different executions might be optimized differently and a wrong test_su*_item
might stay set from the previous execution.
This commit is contained in:
Sergei Golubchik
2013-11-12 15:02:25 +01:00
parent c98a054fde
commit 441192bfb0
3 changed files with 38 additions and 2 deletions

View File

@ -0,0 +1,16 @@
CREATE TABLE t1 (b INT NOT NULL);
INSERT INTO t1 VALUES (0),(8);
PREPARE stmt FROM '
SELECT 1 FROM t1 AS o
WHERE o.b >= ALL (
SELECT a2.b FROM t1 AS a1 LEFT JOIN t1 AS a2 ON ( a2.b = a1.b )
WHERE a1.b <= a2.b
)
';
EXECUTE stmt;
1
1
EXECUTE stmt;
1
1
DROP TABLE t1;

View File

@ -0,0 +1,20 @@
#
# MDEV-5113 Wrong result (extra row) and valgrind warnings in Item_maxmin_subselect::any_value on 2nd execution of PS with SELECT subquery
#
CREATE TABLE t1 (b INT NOT NULL);
INSERT INTO t1 VALUES (0),(8);
PREPARE stmt FROM '
SELECT 1 FROM t1 AS o
WHERE o.b >= ALL (
SELECT a2.b FROM t1 AS a1 LEFT JOIN t1 AS a2 ON ( a2.b = a1.b )
WHERE a1.b <= a2.b
)
';
EXECUTE stmt;
EXECUTE stmt;
DROP TABLE t1;