List:Commits« Previous MessageNext Message »
From:marko.makela Date:June 14 2010 7:00am
Subject:bzr push into mysql-trunk-innodb branch (marko.makela:3098 to 3100) Bug#38999
View as plain text  
 3100 Marko Mäkelä	2010-06-14
      Merge a change from mysql-5.1-innodb:
      ------------------------------------------------------------
      revno: 3507
      revision-id: marko.makela@strippedv2kr7mb
      parent: sergey.glukhov@stripped18-04mpk5kjxvnrxdu8
      committer: Marko Mäkelä <marko.makela@stripped>
      branch nick: 5.1-innodb
      timestamp: Thu 2010-06-10 15:56:23 +0300
      message:
        Bug #38999: Re-enable innodb_multi_update.test

    modified:
      mysql-test/suite/innodb/t/disabled.def
 3099 Marko Mäkelä	2010-06-14
      Merge a change from mysql-5.1-innodb:
      ------------------------------------------------------------
      revno: 3506
      revision-id: sergey.glukhov@strippednrxdu8
      parent: sergey.glukhov@stripped4-ndy2281wau9067zv
      committer: Sergey Glukhov <Sergey.Glukhov@stripped>
      branch nick: mysql-5.1-innodb
      timestamp: Wed 2010-06-09 16:17:18 +0400
      message:
        Bug#38999 valgrind warnings for update statement in function compare_record()
        (InnoDB plugin branch)
      
       @ mysql-test/suite/innodb_plugin/r/innodb_mysql.result
          test case
      
       @ mysql-test/suite/innodb_plugin/t/innodb_mysql.test
          test case
      
       @ storage/innodb_plugin/row/row0sel.c
          init null bytes with default values as they might be
          left uninitialized in some cases and these uninited bytes
          might be copied into mysql record buffer that leads to
          valgrind warnings on next use of the buffer.

    modified:
      mysql-test/suite/innodb/r/innodb_mysql.result
      mysql-test/suite/innodb/t/innodb_mysql.test
      storage/innobase/row/row0sel.c
 3098 Marko Mäkelä	2010-06-08
      Merge a change from mysql-5.1-innodb:
      ------------------------------------------------------------
      revno: 3503
      revision-id: marko.makela@stripped41-l7t9r6lrpx6lh361
      parent: marko.makela@stripped-20100608114055-7b04ytuqz0lde6v1
      committer: Marko Mäkelä <marko.makela@stripped>
      branch nick: 5.1-innodb
      timestamp: Tue 2010-06-08 15:10:41 +0300
      message:
        Bug#54009: Server crashes when data is selected from non backed up table
        for InnoDB plugin
      
        dict_load_table(): Pass the correct tablespace flags to
        fil_open_single_table_tablespace(). For ROW_FORMAT=COMPACT and REDUNDANT,
        the tablespace flags are 0. The table flags would be 0 or DICT_TF_COMPACT.

    modified:
      storage/innobase/dict/dict0load.c
=== modified file 'mysql-test/suite/innodb/r/innodb_mysql.result'
--- a/mysql-test/suite/innodb/r/innodb_mysql.result	revid:marko.makela@stripped45-psnrclg7j7n1ynvs
+++ b/mysql-test/suite/innodb/r/innodb_mysql.result	revid:marko.makela@stripped30-tebecnjv316n8l7b
@@ -2413,6 +2413,18 @@ id	select_type	table	type	possible_keys
 1	SIMPLE	t1	const	PRIMARY	NULL	NULL	NULL	1	Impossible ON condition
 1	SIMPLE	t2	ALL	NULL	NULL	NULL	NULL	3	Using where
 DROP TABLE t1,t2;
+#
+# Bug#38999 valgrind warnings for update statement in function compare_record()
+#
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 values (1),(2),(3),(4),(5);
+INSERT INTO t2 values (1);
+SELECT * FROM t1 WHERE a = 2;
+a
+2
+UPDATE t1,t2 SET t1.a = t1.a + 100 WHERE t1.a = 1;
+DROP TABLE t1,t2;
 End of 5.1 tests
 #
 # Test for bug #39932 "create table fails if column for FK is in different

=== modified file 'mysql-test/suite/innodb/t/disabled.def'
--- a/mysql-test/suite/innodb/t/disabled.def	revid:marko.makela@stripped
+++ b/mysql-test/suite/innodb/t/disabled.def	revid:marko.makela@stripped
@@ -9,4 +9,3 @@
 #  Do not use any TAB characters for whitespace.
 #
 ##############################################################################
-innodb_multi_update: Bug #38999 2010-05-05 mmakela Valgrind warnings

=== modified file 'mysql-test/suite/innodb/t/innodb_mysql.test'
--- a/mysql-test/suite/innodb/t/innodb_mysql.test	revid:marko.makela@stripped
+++ b/mysql-test/suite/innodb/t/innodb_mysql.test	revid:marko.makela@stripped
@@ -649,6 +649,20 @@ EXPLAIN SELECT t1.id,t2.id FROM t2 LEFT
 
 DROP TABLE t1,t2;
 
+--echo #
+--echo # Bug#38999 valgrind warnings for update statement in function compare_record()
+--echo #
+
+CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB;
+CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
+INSERT INTO t1 values (1),(2),(3),(4),(5);
+INSERT INTO t2 values (1);
+
+SELECT * FROM t1 WHERE a = 2;
+UPDATE t1,t2 SET t1.a = t1.a + 100 WHERE t1.a = 1;
+
+DROP TABLE t1,t2;
+
 --echo End of 5.1 tests
 
 

=== modified file 'storage/innobase/row/row0sel.c'
--- a/storage/innobase/row/row0sel.c	revid:marko.makela@stripped45-psnrclg7j7n1ynvs
+++ b/storage/innobase/row/row0sel.c	revid:marko.makela@stripped8l7b
@@ -2678,6 +2678,12 @@ row_sel_store_mysql_rec(
 		prebuilt->blob_heap = NULL;
 	}
 
+	/* init null bytes with default values as they might be
+	left uninitialized in some cases and these uninited bytes
+	might be copied into mysql record buffer that leads to
+	valgrind warnings */
+	memcpy(mysql_rec, prebuilt->default_rec, prebuilt->null_bitmap_len);
+
 	for (i = 0; i < prebuilt->n_template; i++) {
 
 		templ = prebuilt->mysql_template + i;

Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20100614065030-tebecnjv316n8l7b.bundle
Thread
bzr push into mysql-trunk-innodb branch (marko.makela:3098 to 3100) Bug#38999marko.makela14 Jun