List:Commits« Previous MessageNext Message »
From:vasil.dimov Date:July 9 2012 7:17am
Subject:bzr push into mysql-5.6 branch (vasil.dimov:3993 to 3994)
View as plain text  
 3994 Vasil Dimov	2012-07-06
      Followup to vasil.dimov@stripped
      
      Bug#14201986 VALGRIND FAILURE REALTED TO UNINITIALISED BYTE(S) OBSERVED AS
      PART OF WL#6189
      
      During stats fetch, do empty the real table object before copying the
      fetched stats into it. Emptying the dummy table object before fetching in
      dict_stats_fetch_from_ps() is needed, but is not sufficient because
      corrupted indexes are not in the dummy table object and will remain
      uninitialized at the end in the real table object.
      
      This will also fix
      Bug#14285830 INNODB.INNODB_CORRUPT_BIT VALGRIND FAILURE-POST FIX WL-6189

    modified:
      storage/innobase/dict/dict0stats.cc
 3993 Dao gang Qu	2012-07-08
      Fix Bug #14219515    DUPLICATE VALUE NOT REPORTED FOR ADD PRIMARY KEY
      rb://1156 approved by Jimmy Yang

    added:
      mysql-test/suite/innodb/r/innodb-bug14219515.result
      mysql-test/suite/innodb/t/innodb-bug14219515.test
    modified:
      mysql-test/suite/innodb/r/innodb-alter-autoinc.result
      mysql-test/suite/innodb/r/innodb-index.result
      mysql-test/suite/innodb/r/innodb-table-online.result
      mysql-test/suite/innodb/r/innodb_16k.result
      mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result
      mysql-test/suite/innodb/t/innodb-alter-autoinc.test
      storage/innobase/handler/handler0alter.cc
=== modified file 'storage/innobase/dict/dict0stats.cc'
--- a/storage/innobase/dict/dict0stats.cc	revid:bill.qu@stripped
+++ b/storage/innobase/dict/dict0stats.cc	revid:vasil.dimov@stripped
@@ -3150,6 +3150,12 @@ dict_stats_update(
 
 			dict_table_stats_lock(table, RW_X_LATCH);
 
+			/* Initialize all stats to dummy values before
+			copying because dict_stats_table_clone_create() does
+			skip corrupted indexes so our dummy object 't' may
+			have less indexes than the real object 'table'. */
+			dict_stats_empty_table(table);
+
 			dict_stats_copy(table, t);
 
 			dict_stats_assert_initialized(table);

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.6 branch (vasil.dimov:3993 to 3994) vasil.dimov9 Jul