From 45dee3fc83f1f88115e60b72398c7f6b66bfde40 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 1 Jun 2018 16:59:21 +0200 Subject: cleanup: remove TABLE::vcol_set use a read_set instead. a bit in the read_set means "the field value is needed" (read or generated, whatever it takes). --- sql/sql_update.cc | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'sql/sql_update.cc') diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 4b0d070ca50..b56f7383837 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -2536,17 +2536,10 @@ int multi_update::do_updates() not its dependencies */ while(TABLE *tbl= check_opt_it++) - { - if (tbl->vcol_set) - { - bitmap_clear_all(tbl->vcol_set); - for (Field **vf= tbl->vfield; *vf; vf++) - { + if (Field **vf= tbl->vfield) + for (; *vf; vf++) if (bitmap_is_set(tbl->read_set, (*vf)->field_index)) - tbl->mark_virtual_col(*vf); - } - } - } + (*vf)->vcol_info->expr->walk(&Item::register_field_in_read_map, 1, 0); for (cur_table= update_tables; cur_table; cur_table= cur_table->next_local) { -- cgit v1.2.1