diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-02-23 20:22:09 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-02-24 01:28:51 +0100 |
commit | 5c7a40e3cf0b9869c7023e2f8c48b7c6e65a87dd (patch) | |
tree | 8e5845d08af9d54b319d686e5481dc632f359f7e /sql/sql_load.cc | |
parent | fd240a10e3a9726340bc23339d9297f0ad0c680d (diff) | |
download | mariadb-git-5c7a40e3cf0b9869c7023e2f8c48b7c6e65a87dd.tar.gz |
MDEV-15330 Server crash or assertion `table->insert_values' failure in write_record upon LOAD DATA
copy the corresponding line from mysql_prepare_insert()
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r-- | sql/sql_load.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc index ad97e70bdd8..9d367149eaa 100644 --- a/sql/sql_load.cc +++ b/sql/sql_load.cc @@ -409,6 +409,13 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list, is_concurrent= (table_list->lock_type == TL_WRITE_CONCURRENT_INSERT); #endif + if (table->versioned(VERS_TIMESTAMP) && handle_duplicates == DUP_REPLACE) + { + // Additional memory may be required to create historical items. + if (table_list->set_insert_values(thd->mem_root)) + DBUG_RETURN(TRUE); + } + if (!fields_vars.elements) { Field_iterator_table_ref field_iterator; |