diff options
author | Sergei Golubchik <serg@mariadb.org> | 2020-11-23 19:40:47 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2020-11-25 22:19:59 +0100 |
commit | 00f54b56b1eca3e4daf737107dd9097d9634f9ac (patch) | |
tree | 16cb53938925139c960d3186bf620219efd33285 /sql/item.cc | |
parent | 08b0b70daa43a539d911238e25998f7450bab9e6 (diff) | |
download | mariadb-git-00f54b56b1eca3e4daf737107dd9097d9634f9ac.tar.gz |
cleanup: RAII helper for changing thd->count_cuted_rows
Diffstat (limited to 'sql/item.cc')
-rw-r--r-- | sql/item.cc | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sql/item.cc b/sql/item.cc index 4c7e1ab7384..a9f34787f86 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -1620,18 +1620,13 @@ int Item::save_in_field_no_warnings(Field *field, bool no_conversions) int res; TABLE *table= field->table; THD *thd= table->in_use; - enum_check_fields tmp= thd->count_cuted_fields; - my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set); - sql_mode_t sql_mode= thd->variables.sql_mode; + Check_level_instant_set check_level_save(thd, CHECK_FIELD_IGNORE); + Sql_mode_save sql_mode(thd); thd->variables.sql_mode&= ~(MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE); thd->variables.sql_mode|= MODE_INVALID_DATES; - thd->count_cuted_fields= CHECK_FIELD_IGNORE; - + my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set); res= save_in_field(field, no_conversions); - - thd->count_cuted_fields= tmp; dbug_tmp_restore_column_map(table->write_set, old_map); - thd->variables.sql_mode= sql_mode; return res; } |