summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authorunknown <sanja@askmonty.org>2014-04-28 09:13:53 +0300
committerunknown <sanja@askmonty.org>2014-04-28 09:13:53 +0300
commit968f4d4e2573fc409d5a17103269cfdcef7c2878 (patch)
tree380f052461b134a8ff9b1eb0edaaf2df0b4030fc /sql/sql_update.cc
parent772aa0c57525706a9f6e3285005ff22fc115b647 (diff)
downloadmariadb-git-968f4d4e2573fc409d5a17103269cfdcef7c2878.tar.gz
MDEV-6139: UPDATE w/ join against MRG_MyISAM table with read-only sub-table failsUPDATE w/ join against MRG_MyISAM table with read-only sub-table fails
The problem was that on opening all tables TL_WRITE, than local tables which is not updated set to TL_READ, but underlying tables of MyISAMmrg left untouched. Prartition engine has not this problem. All cases where lock_type assigned is not changed because call of virtual function is not cheap.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r--sql/sql_update.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 0cedf50e4a2..190e2e9a84d 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -1304,7 +1304,7 @@ int mysql_multi_update_prepare(THD *thd)
tl->updating= 0;
/* Update TABLE::lock_type accordingly. */
if (!tl->placeholder() && !using_lock_tables)
- tl->table->reginfo.lock_type= tl->lock_type;
+ tl->table->file->ha_set_lock_type(tl->lock_type);
}
}
for (tl= table_list; tl; tl= tl->next_local)