Loading sql/ha_myisammrg.cc +14 −1 Original line number Diff line number Diff line Loading @@ -249,9 +249,22 @@ void ha_myisammrg::info(uint flag) if (flag & HA_STATUS_CONST) { if (table->key_parts && info.rec_per_key) { #ifdef HAVE_purify /* valgrind may be unhappy about it, because optimizer may access values between file->keys and table->key_parts, that will be uninitialized. It's safe though, because even if opimizer will decide to use a key with such a number, it'll be an error later anyway. */ bzero((char*) table->key_info[0].rec_per_key, sizeof(table->key_info[0].rec_per_key) * table->key_parts); #endif memcpy((char*) table->key_info[0].rec_per_key, (char*) info.rec_per_key, sizeof(table->key_info[0].rec_per_key)*table->key_parts); sizeof(table->key_info[0].rec_per_key) * min(file->keys, table->key_parts)); } } } Loading Loading
sql/ha_myisammrg.cc +14 −1 Original line number Diff line number Diff line Loading @@ -249,9 +249,22 @@ void ha_myisammrg::info(uint flag) if (flag & HA_STATUS_CONST) { if (table->key_parts && info.rec_per_key) { #ifdef HAVE_purify /* valgrind may be unhappy about it, because optimizer may access values between file->keys and table->key_parts, that will be uninitialized. It's safe though, because even if opimizer will decide to use a key with such a number, it'll be an error later anyway. */ bzero((char*) table->key_info[0].rec_per_key, sizeof(table->key_info[0].rec_per_key) * table->key_parts); #endif memcpy((char*) table->key_info[0].rec_per_key, (char*) info.rec_per_key, sizeof(table->key_info[0].rec_per_key)*table->key_parts); sizeof(table->key_info[0].rec_per_key) * min(file->keys, table->key_parts)); } } } Loading