diff options
author | kroki@mysql.com <> | 2006-06-30 18:14:22 +0400 |
---|---|---|
committer | kroki@mysql.com <> | 2006-06-30 18:14:22 +0400 |
commit | 96bddcafe7072a9a709122b438499f765652a600 (patch) | |
tree | 922256d4e955f855a6cc441d718ec5126b13236f /mysql-test/t/sp-vars.test | |
parent | 21e1655f4d893954b9624884f9196ca22214c1cf (diff) | |
download | mariadb-git-96bddcafe7072a9a709122b438499f765652a600.tar.gz |
Bug#17226: Variable set in cursor on first iteration is assigned
second iterations value
During assignment to the BLOB variable in routine body the value
wasn't copied.
Diffstat (limited to 'mysql-test/t/sp-vars.test')
-rw-r--r-- | mysql-test/t/sp-vars.test | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mysql-test/t/sp-vars.test b/mysql-test/t/sp-vars.test index 81504904797..48dbd4de7aa 100644 --- a/mysql-test/t/sp-vars.test +++ b/mysql-test/t/sp-vars.test @@ -1271,3 +1271,39 @@ SELECT f1(); # DROP FUNCTION f1; + + +# +# Bug#17226: Variable set in cursor on first iteration is assigned +# second iterations value +# +# The problem was in incorrect handling of local variables of type +# TEXT (BLOB). +# +--disable_warnings +DROP PROCEDURE IF EXISTS p1; +--enable_warnings + +delimiter |; +CREATE PROCEDURE p1() +BEGIN + DECLARE v_char VARCHAR(255); + DECLARE v_text TEXT DEFAULT ''; + + SET v_char = 'abc'; + + SET v_text = v_char; + + SET v_char = 'def'; + + SET v_text = concat(v_text, '|', v_char); + + SELECT v_text; +END| +delimiter ;| + +CALL p1(); + +DROP PROCEDURE p1; + +# End of 5.0 tests. |