mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21013
This commit is contained in:
@@ -5057,4 +5057,16 @@ concat('data was: /', var1, '/')
|
|||||||
data was: /1/
|
data was: /1/
|
||||||
drop table t3|
|
drop table t3|
|
||||||
drop procedure bug15217|
|
drop procedure bug15217|
|
||||||
|
DROP PROCEDURE IF EXISTS bug21013 |
|
||||||
|
CREATE PROCEDURE bug21013(IN lim INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE i INT DEFAULT 0;
|
||||||
|
WHILE (i < lim) DO
|
||||||
|
SET @b = LOCATE(_latin1'b', @a, 1);
|
||||||
|
SET i = i + 1;
|
||||||
|
END WHILE;
|
||||||
|
END |
|
||||||
|
SET @a = _latin2"aaaaaaaaaa" |
|
||||||
|
CALL bug21013(10) |
|
||||||
|
DROP PROCEDURE bug21013 |
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
@@ -5962,6 +5962,33 @@ call bug15217()|
|
|||||||
drop table t3|
|
drop table t3|
|
||||||
drop procedure bug15217|
|
drop procedure bug15217|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#21013: Performance Degrades when importing data that uses
|
||||||
|
# Trigger and Stored Procedure
|
||||||
|
#
|
||||||
|
# This is a performance and memory leak test. Run with large number
|
||||||
|
# passed to bug21013() procedure.
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
DROP PROCEDURE IF EXISTS bug21013 |
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE PROCEDURE bug21013(IN lim INT)
|
||||||
|
BEGIN
|
||||||
|
DECLARE i INT DEFAULT 0;
|
||||||
|
WHILE (i < lim) DO
|
||||||
|
SET @b = LOCATE(_latin1'b', @a, 1);
|
||||||
|
SET i = i + 1;
|
||||||
|
END WHILE;
|
||||||
|
END |
|
||||||
|
|
||||||
|
SET @a = _latin2"aaaaaaaaaa" |
|
||||||
|
CALL bug21013(10) |
|
||||||
|
|
||||||
|
DROP PROCEDURE bug21013 |
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# BUG#NNNN: New bug synopsis
|
# BUG#NNNN: New bug synopsis
|
||||||
#
|
#
|
||||||
|
@@ -1418,7 +1418,8 @@ bool agg_item_charsets(DTCollation &coll, const char *fname,
|
|||||||
In case we're in statement prepare, create conversion item
|
In case we're in statement prepare, create conversion item
|
||||||
in its memory: it will be reused on each execute.
|
in its memory: it will be reused on each execute.
|
||||||
*/
|
*/
|
||||||
arena= thd->activate_stmt_arena_if_needed(&backup);
|
arena= thd->is_stmt_prepare() ? thd->activate_stmt_arena_if_needed(&backup)
|
||||||
|
: NULL;
|
||||||
|
|
||||||
for (i= 0, arg= args; i < nargs; i++, arg+= item_sep)
|
for (i= 0, arg= args; i < nargs; i++, arg+= item_sep)
|
||||||
{
|
{
|
||||||
@@ -1453,7 +1454,7 @@ bool agg_item_charsets(DTCollation &coll, const char *fname,
|
|||||||
been created in prepare. In this case register the change for
|
been created in prepare. In this case register the change for
|
||||||
rollback.
|
rollback.
|
||||||
*/
|
*/
|
||||||
if (arena && arena->is_conventional())
|
if (arena)
|
||||||
*arg= conv;
|
*arg= conv;
|
||||||
else
|
else
|
||||||
thd->change_item_tree(arg, conv);
|
thd->change_item_tree(arg, conv);
|
||||||
|
Reference in New Issue
Block a user