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:
16
mysql-test/r/ps_max_subselect-5113.result
Normal file
16
mysql-test/r/ps_max_subselect-5113.result
Normal 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;
|
20
mysql-test/t/ps_max_subselect-5113.test
Normal file
20
mysql-test/t/ps_max_subselect-5113.test
Normal 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;
|
||||
|
Reference in New Issue
Block a user