List:Commits« Previous MessageNext Message »
From:kpettersson Date:May 16 2007 2:25pm
Subject:bk commit into 5.0 tree (thek:1.2486) BUG#27415
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of thek. When thek does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-05-16 14:25:38+02:00, thek@adventure.(none) +2 -0
  Bug#27415 Text Variables in stored procedures
   - Problem was reported as a SP variable using itself as 
     right value inside SUBSTR caused corruption of data. 
   - This bug could not be verified in either 5.0bk or 5.1bk
   - Added test case to prevent future regressions.

  mysql-test/r/sp-vars.result@stripped, 2007-05-16 14:25:37+02:00, thek@adventure.(none) +41 -0
    Added test case for a reported regression which couldn't be
    verified.

  mysql-test/t/sp-vars.test@stripped, 2007-05-16 14:25:37+02:00, thek@adventure.(none) +44 -0
    Added test case for a reported regression which couldn't be
    verified.

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	thek
# Host:	adventure.(none)
# Root:	/home/thek/Development/cpp/bug27415/my50-bug27415

--- 1.7/mysql-test/r/sp-vars.result	2007-05-04 16:54:58 +02:00
+++ 1.8/mysql-test/r/sp-vars.result	2007-05-16 14:25:37 +02:00
@@ -1161,3 +1161,44 @@ CALL p1();
 v_text
 abc|def
 DROP PROCEDURE p1;
+DROP PROCEDURE IF EXISTS bug27415_text_test|
+DROP PROCEDURE IF EXISTS bug27415_text_test2|
+CREATE PROCEDURE bug27415_text_test(entity_id_str_in text)
+BEGIN
+DECLARE str_remainder text;
+SET str_remainder = entity_id_str_in;
+select 'before substr', str_remainder;
+SET str_remainder = SUBSTRING(str_remainder, 3);
+select 'after substr', str_remainder;
+END|
+CREATE PROCEDURE bug27415_text_test2(entity_id_str_in text)
+BEGIN
+DECLARE str_remainder text;
+DECLARE str_remainder2 text;
+SET str_remainder2 = entity_id_str_in;
+select 'before substr', str_remainder2;
+SET str_remainder = SUBSTRING(str_remainder2, 3);
+select 'after substr', str_remainder;
+END|
+CALL bug27415_text_test('a,b,c')|
+before substr	str_remainder
+before substr	a,b,c
+after substr	str_remainder
+after substr	b,c
+CALL bug27415_text_test('a,b,c')|
+before substr	str_remainder
+before substr	a,b,c
+after substr	str_remainder
+after substr	b,c
+CALL bug27415_text_test2('a,b,c')|
+before substr	str_remainder2
+before substr	a,b,c
+after substr	str_remainder
+after substr	b,c
+CALL bug27415_text_test('a,b,c')|
+before substr	str_remainder
+before substr	a,b,c
+after substr	str_remainder
+after substr	b,c
+DROP PROCEDURE bug27415_text_test|
+DROP PROCEDURE bug27415_text_test2|

--- 1.5/mysql-test/t/sp-vars.test	2007-02-07 00:01:20 +01:00
+++ 1.6/mysql-test/t/sp-vars.test	2007-05-16 14:25:37 +02:00
@@ -1367,4 +1367,48 @@ CALL p1();
 
 DROP PROCEDURE p1;
 
+#
+# Bug #27415 Text Variables in stored procedures
+# If the SP varible was also referenced on the right side
+# the result was corrupted.
+#
+DELIMITER |;
+
+--disable_warnings
+DROP PROCEDURE IF EXISTS bug27415_text_test|
+DROP PROCEDURE IF EXISTS bug27415_text_test2|
+--enable_warnings
+
+CREATE PROCEDURE bug27415_text_test(entity_id_str_in text)
+BEGIN
+    DECLARE str_remainder text;
+
+    SET str_remainder = entity_id_str_in;
+
+    select 'before substr', str_remainder;
+    SET str_remainder = SUBSTRING(str_remainder, 3);
+    select 'after substr', str_remainder;
+END|
+
+CREATE PROCEDURE bug27415_text_test2(entity_id_str_in text)
+BEGIN
+    DECLARE str_remainder text;
+    DECLARE str_remainder2 text;
+ 
+    SET str_remainder2 = entity_id_str_in;
+    select 'before substr', str_remainder2;
+    SET str_remainder = SUBSTRING(str_remainder2, 3);
+    select 'after substr', str_remainder;
+END|
+
+CALL bug27415_text_test('a,b,c')|
+CALL bug27415_text_test('a,b,c')|
+CALL bug27415_text_test2('a,b,c')|
+CALL bug27415_text_test('a,b,c')|
+
+DROP PROCEDURE bug27415_text_test|
+DROP PROCEDURE bug27415_text_test2|
+
+DELIMITER ;|
+
 # End of 5.0 tests.
Thread
bk commit into 5.0 tree (thek:1.2486) BUG#27415kpettersson16 May