summaryrefslogtreecommitdiff
path: root/sql/sql_update.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/sql_update.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/sql_update.cc')
-rw-r--r--sql/sql_update.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 80ecd820046..1da265d7c16 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -211,6 +211,14 @@ static void prepare_record_for_error_message(int error, TABLE *table)
bitmap_union(table->read_set, &unique_map);
/* Tell the engine about the new set. */
table->file->column_bitmaps_signal();
+
+ if ((error= table->file->ha_index_or_rnd_end()) ||
+ (error= table->file->ha_rnd_init(0)))
+ {
+ table->file->print_error(error, MYF(0));
+ DBUG_VOID_RETURN;
+ }
+
/* Read record that is identified by table->file->ref. */
(void) table->file->ha_rnd_pos(table->record[1], table->file->ref);
/* Copy the newly read columns into the new record. */