MDEV-34649: Memory leaks on running DELETE statement in PS mode with positional parameters
Re-design of a way for handling the DELETE statement introduced by the task MDEV-28883, added regression caused by missing reset of the data member current_select->first_cond_optimization on handling the DELETE statement that results in a memory leaks on second execution of the same DELETE statement in PS mode. To fix memory leaks, added set of the data member current_select->first_cond_optimization to the value false on finishing execution of DELETE statement.
This commit is contained in:
parent
7ead48a72b
commit
73b58ac487
@ -148,3 +148,17 @@ CALL p1(2);
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
# End of 10.11 tests
|
||||
#
|
||||
# MDEV-34649: Memory leaks on running DELETE statement in PS mode with positional parameters
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(30)) CHARSET=utf8mb4;
|
||||
INSERT INTO t1 VALUES (1, 'one'), (0, NULL), (3, 'three'), (4, 'four');
|
||||
PREPARE stmt FROM 'DELETE FROM t1 WHERE b=?' ;
|
||||
SET @arg00=NULL;
|
||||
EXECUTE stmt USING @arg00;
|
||||
SET @arg00='one';
|
||||
EXECUTE stmt USING @arg00;
|
||||
# Clean up
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
# End of 11.1
|
||||
|
@ -167,3 +167,21 @@ DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
--echo # End of 10.11 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34649: Memory leaks on running DELETE statement in PS mode with positional parameters
|
||||
--echo #
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(30)) CHARSET=utf8mb4;
|
||||
INSERT INTO t1 VALUES (1, 'one'), (0, NULL), (3, 'three'), (4, 'four');
|
||||
PREPARE stmt FROM 'DELETE FROM t1 WHERE b=?' ;
|
||||
SET @arg00=NULL;
|
||||
EXECUTE stmt USING @arg00;
|
||||
SET @arg00='one';
|
||||
# Without the patch, attempt to run the same prepared statement the second time
|
||||
# would result in memory leaks
|
||||
EXECUTE stmt USING @arg00;
|
||||
--echo # Clean up
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 11.1
|
||||
|
@ -912,6 +912,7 @@ cleanup:
|
||||
{
|
||||
thd->lex->current_select->save_leaf_tables(thd);
|
||||
thd->lex->current_select->leaf_tables_saved= true;
|
||||
thd->lex->current_select->first_cond_optimization= false;
|
||||
}
|
||||
|
||||
delete deltempfile;
|
||||
|
Loading…
x
Reference in New Issue
Block a user