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.dimov | 9 Jul |