MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Jon Olav Hauglid Date:October 12 2009 11:41am
Subject:bzr commit into mysql-5.5.0-next-mr-runtime branch (jon.hauglid:2910)
Bug#35877
View as plain text  
#At file:///export/home/z/mysql-next-mr-runtime2/ based on revid:jon.hauglid@stripped

 2910 Jon Olav Hauglid	2009-10-12
      Bug #35877 Update .. WHERE with function, constraint violation, crash 
      
      Unable to reproduce crash with current version of the 5.5.0 codebase.
      Test case for MyISAM/InnoDB based on the bug rapport added to 
      sp_trans.test.
      
      Backport of revno: 2617.65.9.

    modified:
      mysql-test/r/sp_trans.result
      mysql-test/t/sp_trans.test
=== modified file 'mysql-test/r/sp_trans.result'
--- a/mysql-test/r/sp_trans.result	2009-07-01 12:36:40 +0000
+++ b/mysql-test/r/sp_trans.result	2009-10-12 11:41:02 +0000
@@ -556,3 +556,30 @@ f1	bug13575(f1)
 3	ccc
 drop function bug13575|
 drop table t3|
+#
+# End of 5.1 tests
+#
+# 
+# Bug #35877 Update .. WHERE with function, constraint violation, crash 
+#           
+DROP TABLE IF EXISTS t1_aux|
+DROP TABLE IF EXISTS t1_not_null|
+DROP FUNCTION IF EXISTS f1_two_inserts|
+# MyISAM test
+CREATE TABLE t1_not_null (f1 BIGINT, f2 BIGINT NOT NULL)|
+CREATE TABLE t1_aux (f1 BIGINT, f2 BIGINT)|
+INSERT INTO t1_aux VALUES (1,1)|
+CREATE FUNCTION f1_two_inserts() returns INTEGER
+BEGIN
+INSERT INTO t1_not_null SET f1 = 10, f2 = NULL;
+RETURN 1;
+END|
+UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()|
+ERROR 23000: Column 'f2' cannot be null
+# InnoDB test
+ALTER TABLE t1_not_null ENGINE = InnoDB|
+ALTER TABLE t1_aux ENGINE = InnoDB|
+UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()|
+ERROR 23000: Column 'f2' cannot be null
+DROP TABLE t1_aux, t1_not_null|
+DROP FUNCTION f1_two_inserts|

=== modified file 'mysql-test/t/sp_trans.test'
--- a/mysql-test/t/sp_trans.test	2007-06-15 16:56:11 +0000
+++ b/mysql-test/t/sp_trans.test	2009-10-12 11:41:02 +0000
@@ -592,6 +592,44 @@ select distinct f1, bug13575(f1) from t3
 drop function bug13575|
 drop table t3|
 
+--echo #
+--echo # End of 5.1 tests
+--echo #
+
+--echo # 
+--echo # Bug #35877 Update .. WHERE with function, constraint violation, crash 
+--echo #           
+
+--disable_warnings
+DROP TABLE IF EXISTS t1_aux|
+DROP TABLE IF EXISTS t1_not_null|
+DROP FUNCTION IF EXISTS f1_two_inserts|
+--enable_warnings
+
+-- echo # MyISAM test
+CREATE TABLE t1_not_null (f1 BIGINT, f2 BIGINT NOT NULL)|
+CREATE TABLE t1_aux (f1 BIGINT, f2 BIGINT)|
+INSERT INTO t1_aux VALUES (1,1)|
+
+CREATE FUNCTION f1_two_inserts() returns INTEGER
+BEGIN
+   INSERT INTO t1_not_null SET f1 = 10, f2 = NULL;
+   RETURN 1;
+END|
+
+-- error ER_BAD_NULL_ERROR
+UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()|
+
+-- echo # InnoDB test
+ALTER TABLE t1_not_null ENGINE = InnoDB|
+ALTER TABLE t1_aux ENGINE = InnoDB|
+
+-- error ER_BAD_NULL_ERROR
+UPDATE t1_aux SET f2 = 2 WHERE f1 = f1_two_inserts()|
+
+DROP TABLE t1_aux, t1_not_null|
+DROP FUNCTION f1_two_inserts|
+
 
 #
 # BUG#NNNN: New bug synopsis


Attachment: [text/bzr-bundle] bzr/jon.hauglid@sun.com-20091012114102-oxr0rnivnora8zlp.bundle
Thread
bzr commit into mysql-5.5.0-next-mr-runtime branch (jon.hauglid:2910)Bug#35877Jon Olav Hauglid12 Oct