MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Konstantin Osipov Date:November 20 2009 11:06pm
Subject:bzr push into mysql-5.6-next-mr branch (kostja:2930 to 2931) Bug#31881
View as plain text  
 2931 Konstantin Osipov	2009-11-21
      Backport the test case for Bug#31881 "A statement is not aborted immediately if an error
       inside a stored routine" from 6.0-codebase.

    modified:
      mysql-test/r/errors.result
      mysql-test/t/errors.test
 2930 Konstantin Osipov	2009-11-21
      Backport of:
      ------------------------------------------------------------
      revno: 2597.42.4
      committer: davi@stripped/endora.local
      timestamp: Tue 2008-04-15 17:29:42 -0300
      message:
      Bug#36004 mysql_stmt_prepare resets the list of warnings
      
      Although the manual says that "the list of messages is reset
      for each new statement that uses a table", the list of messages
      is being unconditionally reset for prepare commands.
      
      The solution is to enforce that the prepare command will only
      reset the message list if the statement being prepared uses
      a table or a warning is pushed.
     @ tests/mysql_client_test.c
        Add test case for Bug#36004

    modified:
      tests/mysql_client_test.c
=== modified file 'mysql-test/r/errors.result'
--- a/mysql-test/r/errors.result	2009-10-15 12:23:43 +0000
+++ b/mysql-test/r/errors.result	2009-11-20 23:06:30 +0000
@@ -55,6 +55,42 @@ Error	1054	Unknown column 'b' in 'field 
 INSERT INTO t1 SELECT b FROM t1;
 ERROR 42S22: Unknown column 'b' in 'field list'
 DROP TABLE t1;
+flush status;
+drop table if exists t1, t2;
+create table t1 (a int unique);
+create table t2 (a int);
+drop function if exists f1;
+Warnings:
+Note	1305	FUNCTION f1 does not exist
+drop function if exists f2;
+Warnings:
+Note	1305	FUNCTION f2 does not exist
+create function f1() returns int
+begin
+insert into t1 (a) values (1);
+insert into t1 (a) values (1);
+return 1;
+end|
+create function f2() returns int
+begin
+insert into t2 (a) values (1);
+return 2;
+end|
+flush status;
+select f1(), f2();
+ERROR 23000: Duplicate entry '1' for key 'a'
+show status like 'Com_insert';
+Variable_name	Value
+Com_insert	2
+select * from t1;
+a
+1
+select * from t2;
+a
+drop table t1;
+drop table t2;
+drop function f1;
+drop function f2;
 SET NAMES utf8;
 SET sql_quote_show_create= _binary x'5452C39C45';
 ERROR 42000: Variable 'sql_quote_show_create' can't be set to the value of 'TR\xC3\x9CE'

=== modified file 'mysql-test/t/errors.test'
--- a/mysql-test/t/errors.test	2009-10-15 12:23:43 +0000
+++ b/mysql-test/t/errors.test	2009-11-20 23:06:30 +0000
@@ -68,6 +68,40 @@ INSERT INTO t1 SELECT b FROM t1;
 DROP TABLE t1;
 # End of 5.0 tests
 
+flush status;
+--disable_warnings
+drop table if exists t1, t2;
+--enable_warnings
+create table t1 (a int unique);
+create table t2 (a int);
+drop function if exists f1;
+drop function if exists f2;
+
+delimiter |;
+
+create function f1() returns int
+begin
+  insert into t1 (a) values (1);
+  insert into t1 (a) values (1);
+  return 1;
+end|
+create function f2() returns int
+begin
+  insert into t2 (a) values (1);
+  return 2;
+end|
+delimiter ;|
+
+flush status;
+--error 1062
+select f1(), f2();
+show status like 'Com_insert';
+select * from t1;
+select * from t2;
+drop table t1;
+drop table t2;
+drop function f1;
+drop function f2;
 #
 # testing the value encoding in the error messages of set_var
 #


Attachment: [text/bzr-bundle] bzr/kostja@sun.com-20091120230630-g5oe49ie8xkyd972.bundle
Thread
bzr push into mysql-5.6-next-mr branch (kostja:2930 to 2931) Bug#31881Konstantin Osipov21 Nov