ha_innodb.cc:

  Fix an assertion in btr0pcur.c line 203 when an UPDATE is done inside LOCK TABLES
parent a937a4fa
...@@ -3672,7 +3672,15 @@ ha_innobase::start_stmt( ...@@ -3672,7 +3672,15 @@ ha_innobase::start_stmt(
prebuilt->sql_stat_start = TRUE; prebuilt->sql_stat_start = TRUE;
prebuilt->hint_no_need_to_fetch_extra_cols = TRUE; prebuilt->hint_no_need_to_fetch_extra_cols = TRUE;
prebuilt->read_just_key = 0; prebuilt->read_just_key = 0;
prebuilt->select_lock_type = LOCK_NONE;
if (prebuilt->select_lock_type == LOCK_NONE) {
/* This handle is for a temporary table created inside
this same LOCK TABLES; since MySQL does NOT call external_lock
in this case, we must use x-row locks inside InnoDB to be
prepared for an update of a row */
prebuilt->select_lock_type = LOCK_X;
}
thd->transaction.all.innodb_active_trans = 1; thd->transaction.all.innodb_active_trans = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment