summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-11-03 16:24:47 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2020-11-03 16:24:47 +0200
commit133b4b46fefde402542214d8226262534dc3601a (patch)
tree51bbdc0ee35a4af61e5af6d97948963ae9354f39 /storage
parent44836bcd12e3974e79c928be747955bfb3b73910 (diff)
parent533a13af069d8c9e6c5f4e1a72851497185ade03 (diff)
downloadmariadb-git-133b4b46fefde402542214d8226262534dc3601a.tar.gz
Merge 10.4 into 10.5
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/handler/handler0alter.cc3
-rw-r--r--storage/myisam/mi_key.c7
-rw-r--r--storage/perfschema/pfs_setup_object.cc14
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]);