diff options
author | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2022-01-27 01:03:52 +0530 |
---|---|---|
committer | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2022-04-26 12:40:11 +0530 |
commit | 9b2d36660bbb4f93c6b9e0761c91d57d47f59196 (patch) | |
tree | 0bb7ae904e01aab210eea751310e5ff633ed5399 /sql/sql_handler.cc | |
parent | 25ccf8f6dcfa23ba07a46efe5e85787689571b17 (diff) | |
download | mariadb-git-9b2d36660bbb4f93c6b9e0761c91d57d47f59196.tar.gz |
MDEV-20207: Assertion ! is_set() failed in Diagnostics_area::set_eof_status
upon HANDLER READ
Analysis: The error state is not stored while checking condition and key
name.
Fix: Return true while checking condition and key name if error is reported
because geometry object can't be created from the data in the index value
for HANDLER READ.
Diffstat (limited to 'sql/sql_handler.cc')
-rw-r--r-- | sql/sql_handler.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc index ec3756eceba..132556f57b8 100644 --- a/sql/sql_handler.cc +++ b/sql/sql_handler.cc @@ -613,8 +613,10 @@ mysql_ha_fix_cond_and_key(SQL_HANDLER *handler, if (!in_prepare) { MY_BITMAP *old_map= dbug_tmp_use_all_columns(table, &table->write_set); - (void) item->save_in_field(key_part->field, 1); + int res= item->save_in_field(key_part->field, 1); dbug_tmp_restore_column_map(&table->write_set, old_map); + if (res) + return 1; } key_len+= key_part->store_length; keypart_map= (keypart_map << 1) | 1; |