summaryrefslogtreecommitdiff
path: root/sql/sql_handler.cc
diff options
context:
space:
mode:
authorRucha Deodhar <rucha.deodhar@mariadb.com>2022-01-27 01:03:52 +0530
committerRucha Deodhar <rucha.deodhar@mariadb.com>2022-04-26 12:40:11 +0530
commit9b2d36660bbb4f93c6b9e0761c91d57d47f59196 (patch)
tree0bb7ae904e01aab210eea751310e5ff633ed5399 /sql/sql_handler.cc
parent25ccf8f6dcfa23ba07a46efe5e85787689571b17 (diff)
downloadmariadb-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.cc4
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;