summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-11-23 19:40:47 +0100
committerSergei Golubchik <serg@mariadb.org>2020-11-25 22:19:59 +0100
commit00f54b56b1eca3e4daf737107dd9097d9634f9ac (patch)
tree16cb53938925139c960d3186bf620219efd33285 /sql/item.cc
parent08b0b70daa43a539d911238e25998f7450bab9e6 (diff)
downloadmariadb-git-00f54b56b1eca3e4daf737107dd9097d9634f9ac.tar.gz
cleanup: RAII helper for changing thd->count_cuted_rows
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc11
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;
}