diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-09 08:26:59 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-09 08:26:59 +0200 |
commit | 524b4a89da3d9143ad72a82d73617ffde9e3a7a8 (patch) | |
tree | 4365b284812f3ea742b0d7bb96f2447c3c657b54 /storage | |
parent | f7054ff5dfea7b84afdde11c14898cff7154521e (diff) | |
parent | d6d1a1fc21084c81a0795a26e67577c2a718f6ea (diff) | |
download | mariadb-git-524b4a89da3d9143ad72a82d73617ffde9e3a7a8.tar.gz |
Merge 10.2 into 10.3
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/pars/pars0grm.cc | 2 | ||||
-rw-r--r-- | storage/innobase/pars/pars0grm.y | 2 | ||||
-rw-r--r-- | storage/maria/ma_extra.c | 8 |
3 files changed, 9 insertions, 3 deletions
diff --git a/storage/innobase/pars/pars0grm.cc b/storage/innobase/pars/pars0grm.cc index 10d0d0becd7..1e10a61f5ad 100644 --- a/storage/innobase/pars/pars0grm.cc +++ b/storage/innobase/pars/pars0grm.cc @@ -79,7 +79,7 @@ que_node_t */ #include "que0que.h" #include "row0sel.h" -#ifdef __GNUC__ +#if defined __GNUC__ && (!defined __clang_major__ || __clang_major__ > 11) #pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif diff --git a/storage/innobase/pars/pars0grm.y b/storage/innobase/pars/pars0grm.y index 3fb0865f608..ed2b9bc09b0 100644 --- a/storage/innobase/pars/pars0grm.y +++ b/storage/innobase/pars/pars0grm.y @@ -38,7 +38,7 @@ que_node_t */ #include "que0que.h" #include "row0sel.h" -#ifdef __GNUC__ +#if defined __GNUC__ && (!defined __clang_major__ || __clang_major__ > 11) #pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif diff --git a/storage/maria/ma_extra.c b/storage/maria/ma_extra.c index c2ac4d588a9..9abcab81107 100644 --- a/storage/maria/ma_extra.c +++ b/storage/maria/ma_extra.c @@ -210,7 +210,13 @@ int maria_extra(MARIA_HA *info, enum ha_extra_function function, info->last_key.data + share->base.max_key_length*2, info->save_lastkey_data_length + info->save_lastkey_ref_length); info->update= info->save_update | HA_STATE_WRITTEN; - info->lastinx= info->save_lastinx; + if (info->lastinx != info->save_lastinx) /* Index changed */ + { + info->lastinx = info->save_lastinx; + info->last_key.keyinfo= info->s->keyinfo + info->lastinx; + info->last_key.flag= 0; + info->page_changed=1; + } info->cur_row.lastpos= info->save_lastpos; info->last_key.data_length= info->save_lastkey_data_length; info->last_key.ref_length= info->save_lastkey_ref_length; |