summaryrefslogtreecommitdiff
path: root/sql/log_event.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2018-12-20 09:52:34 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2019-04-25 18:02:31 +0200
commit4e01bc8c963d9513625dd984cd1aca24b8a7b516 (patch)
tree9814be2b0ce45c9833328b63cf403d76d1e24c50 /sql/log_event.cc
parent3dffdee667666df9ade9f2c458bf1ea495ffba02 (diff)
downloadmariadb-git-4e01bc8c963d9513625dd984cd1aca24b8a7b516.tar.gz
MDEV-16240: Assertion `0' failed in row_sel_convert_mysql_key_to_innobasebb-10.2-MDEV-16240
Set table in row ID position mode before using this function.
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r--sql/log_event.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc
index 8990e1953b6..7ebc75dd1bf 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -12845,6 +12845,12 @@ Rows_log_event::write_row(rpl_group_info *rgi,
if (table->file->ha_table_flags() & HA_DUPLICATE_POS)
{
DBUG_PRINT("info",("Locating offending record using rnd_pos()"));
+
+ if ((error= table->file->ha_rnd_init_with_error(0)))
+ {
+ DBUG_RETURN(error);
+ }
+
error= table->file->ha_rnd_pos(table->record[1], table->file->dup_ref);
if (error)
{
@@ -12854,6 +12860,7 @@ Rows_log_event::write_row(rpl_group_info *rgi,
table->file->print_error(error, MYF(0));
DBUG_RETURN(error);
}
+ table->file->ha_rnd_end();
}
else
{