summaryrefslogtreecommitdiff
path: root/sql/key.cc
diff options
context:
space:
mode:
authorsachin <sachin.setiya@maridb.com>2018-06-05 15:14:19 +0530
committerSachin <sachin.setiya@mariadb.com>2018-08-04 01:39:35 +0530
commit68ebfb31f215247d2fa08c8ed97a320191afc179 (patch)
tree13158a120541754b97c66f7ac1a841a586aaec36 /sql/key.cc
parent33110db0550f632408a71560d1636685c120efc5 (diff)
downloadmariadb-git-68ebfb31f215247d2fa08c8ed97a320191afc179.tar.gz
MDEV-16166 RBR breaks with HA_ERR_KEY_NOT_FOUND upon DELETE from table...
with spatial index So the issue is since it is spatial index , at the time of searching index for key (Rows_log_event::find_row) we use wrong field image we use Field::itRAW while we should be using Field::itMBR
Diffstat (limited to 'sql/key.cc')
-rw-r--r--sql/key.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/key.cc b/sql/key.cc
index 700bf6a05a6..7e5a3309b10 100644
--- a/sql/key.cc
+++ b/sql/key.cc
@@ -145,7 +145,8 @@ void key_copy(uchar *to_key, uchar *from_record, KEY *key_info,
{
key_length-= HA_KEY_BLOB_LENGTH;
length= min(key_length, key_part->length);
- uint bytes= key_part->field->get_key_image(to_key, length, Field::itRAW);
+ uint bytes= key_part->field->get_key_image(to_key, length,
+ key_info->flags & HA_SPATIAL ? Field::itMBR : Field::itRAW);
if (with_zerofill && bytes < length)
bzero((char*) to_key + bytes, length - bytes);
to_key+= HA_KEY_BLOB_LENGTH;