diff options
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/buf/buf0rea.cc | 2 | ||||
-rw-r--r-- | storage/innobase/handler/handler0alter.cc | 3 | ||||
-rw-r--r-- | storage/myisam/mi_key.c | 7 | ||||
-rw-r--r-- | storage/perfschema/pfs_setup_object.cc | 14 |
4 files changed, 18 insertions, 8 deletions
diff --git a/storage/innobase/buf/buf0rea.cc b/storage/innobase/buf/buf0rea.cc index 2f59f1ae4d5..3b49525502a 100644 --- a/storage/innobase/buf/buf0rea.cc +++ b/storage/innobase/buf/buf0rea.cc @@ -431,7 +431,7 @@ no_read_ahead: return 0; read_ahead: - if (!space->acquire_if_not_stopped()) + if (space->is_stopping()) goto no_read_ahead; /* Read all the suitable blocks within the area */ diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index 7d20796b646..710a3787e09 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -1467,7 +1467,8 @@ instant_alter_column_possible( for (const dict_index_t* index = ib_table.indexes.start; index; index = index->indexes.next) { if (index->has_virtual()) { - ut_ad(ib_table.n_v_cols); + ut_ad(ib_table.n_v_cols + || index->is_corrupted()); return false; } } diff --git a/storage/myisam/mi_key.c b/storage/myisam/mi_key.c index ed72acf627e..087eb59c7c0 100644 --- a/storage/myisam/mi_key.c +++ b/storage/myisam/mi_key.c @@ -147,8 +147,11 @@ uint _mi_make_key(register MI_INFO *info, uint keynr, uchar *key, set_if_smaller(length,tmp_length); FIX_LENGTH(cs, pos, length, char_length); store_key_length_inc(key,char_length); - memcpy(key, pos, char_length); - key+= char_length; + if (char_length) + { + memcpy(key, pos, char_length); + key+= char_length; + } continue; } else if (keyseg->flag & HA_SWAP_KEY) diff --git a/storage/perfschema/pfs_setup_object.cc b/storage/perfschema/pfs_setup_object.cc index 9325b84997f..47afd130761 100644 --- a/storage/perfschema/pfs_setup_object.cc +++ b/storage/perfschema/pfs_setup_object.cc @@ -126,12 +126,18 @@ static void set_setup_object_key(PFS_setup_object_key *key, char *ptr= &key->m_hash_key[0]; ptr[0]= (char) object_type; ptr++; - memcpy(ptr, schema, schema_length); - ptr+= schema_length; + if (schema_length) + { + memcpy(ptr, schema, schema_length); + ptr+= schema_length; + } ptr[0]= 0; ptr++; - memcpy(ptr, object, object_length); - ptr+= object_length; + if (object_length) + { + memcpy(ptr, object, object_length); + ptr+= object_length; + } ptr[0]= 0; ptr++; key->m_key_length= (uint)(ptr - &key->m_hash_key[0]); |