diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-11-03 16:24:47 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-11-03 16:24:47 +0200 |
commit | 133b4b46fefde402542214d8226262534dc3601a (patch) | |
tree | 51bbdc0ee35a4af61e5af6d97948963ae9354f39 /storage | |
parent | 44836bcd12e3974e79c928be747955bfb3b73910 (diff) | |
parent | 533a13af069d8c9e6c5f4e1a72851497185ade03 (diff) | |
download | mariadb-git-133b4b46fefde402542214d8226262534dc3601a.tar.gz |
Merge 10.4 into 10.5
Diffstat (limited to 'storage')
-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 |
3 files changed, 17 insertions, 7 deletions
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]); |