diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-02-14 08:49:11 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-02-14 08:49:11 +0200 |
commit | e928fdbff1369036694320ee13b99d13fe6a3b60 (patch) | |
tree | 8f372ae14fae3862f701e2485ab5df0ccedc2985 /storage/innobase | |
parent | a6ef239b9e3f49002617413d59262dccbb99ed87 (diff) | |
parent | e777645d483420fb65e26bb20fde4f0f9ebcd05c (diff) | |
download | mariadb-git-e928fdbff1369036694320ee13b99d13fe6a3b60.tar.gz |
Merge 10.2 into 10.3
Diffstat (limited to 'storage/innobase')
-rw-r--r-- | storage/innobase/row/row0sel.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/storage/innobase/row/row0sel.cc b/storage/innobase/row/row0sel.cc index fbdb03e19b4..ed5b48b59e0 100644 --- a/storage/innobase/row/row0sel.cc +++ b/storage/innobase/row/row0sel.cc @@ -354,11 +354,16 @@ row_sel_sec_rec_is_for_clust_rec( } len = clust_len; + ulint prefix_len = ifield->prefix_len; if (rec_offs_nth_extern(clust_offs, clust_pos)) { + /* BLOB can contain prefix. */ len -= BTR_EXTERN_FIELD_REF_SIZE; + if (!len) { + goto compare_blobs; + } } - if (ulint prefix_len = ifield->prefix_len) { + if (prefix_len) { len = dtype_get_at_most_n_mbchars( col->prtype, col->mbminlen, col->mbmaxlen, prefix_len, len, @@ -371,6 +376,7 @@ row_sel_sec_rec_is_for_clust_rec( check_for_blob: if (rec_offs_nth_extern(clust_offs, clust_pos)) { +compare_blobs: if (!row_sel_sec_rec_is_for_blob( col->mtype, col->prtype, col->mbminlen, |