diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-06-01 16:59:21 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-06-04 12:32:23 +0200 |
commit | 45dee3fc83f1f88115e60b72398c7f6b66bfde40 (patch) | |
tree | d9a203a3bd5ed5e6f2c270246da3642ce996af44 /sql/sql_update.cc | |
parent | ac9cc638923836cb7f0d44d1919ad2d5afc2a9f4 (diff) | |
download | mariadb-git-45dee3fc83f1f88115e60b72398c7f6b66bfde40.tar.gz |
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).
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r-- | sql/sql_update.cc | 13 |
1 files changed, 3 insertions, 10 deletions
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) { |