diff options
author | Sergei Golubchik <serg@mariadb.org> | 2016-11-23 17:33:40 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2016-12-12 20:27:36 +0100 |
commit | d137b4dbbac1ce53906ca15817334e3a4daa2655 (patch) | |
tree | 14d421c0a6327365d584942b1e9164a7ee5ca379 /sql/sql_update.cc | |
parent | a418c9920047d5222a0d065343347312127b780f (diff) | |
download | mariadb-git-d137b4dbbac1ce53906ca15817334e3a4daa2655.tar.gz |
MDEV-5800 MyISAM support for indexed vcols
* don't issue an error for ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN
* support keyread on vcols
* callback into the server to compute vcol values from mi_check/mi_repair
* DMLs just work. Automatically.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r-- | sql/sql_update.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 1ae90a31ebf..da0e6cd2116 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -254,7 +254,7 @@ int mysql_update(THD *thd, ha_rows *found_return, ha_rows *updated_return) { bool using_limit= limit != HA_POS_ERROR; - bool safe_update= MY_TEST(thd->variables.option_bits & OPTION_SAFE_UPDATES); + bool safe_update= thd->variables.option_bits & OPTION_SAFE_UPDATES; bool used_key_is_modified= FALSE, transactional_table, will_batch; bool can_compare_record; int res; @@ -2383,6 +2383,9 @@ int multi_update::do_updates() field_num++; } while ((tbl= check_opt_it++)); + if (table->vfield && table->update_virtual_fields(VCOL_UPDATE_INDEXED)) + goto err2; + table->status|= STATUS_UPDATED; store_record(table,record[1]); |