Loading innobase/include/row0mysql.h +1 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,7 @@ struct row_prebuilt_struct { an SQL statement: we may have to set an intention lock on the table, create a consistent read view etc. */ ibool mysql_has_locked; ibool clust_index_was_generated; /* if the user did not define a primary key in MySQL, then Innobase Loading innobase/row/row0mysql.c +1 −0 Original line number Diff line number Diff line Loading @@ -320,6 +320,7 @@ row_create_prebuilt( prebuilt->trx = NULL; prebuilt->sql_stat_start = TRUE; prebuilt->mysql_has_locked = FALSE; prebuilt->index = NULL; prebuilt->n_template = 0; Loading sql/ha_innobase.cc +3 −1 Original line number Diff line number Diff line Loading @@ -3453,7 +3453,7 @@ ha_innobase::start_stmt( prebuilt->hint_no_need_to_fetch_extra_cols = TRUE; prebuilt->read_just_key = 0; if (prebuilt->select_lock_type == LOCK_NONE) { if (!prebuilt->mysql_has_locked) { /* 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 Loading Loading @@ -3510,6 +3510,7 @@ ha_innobase::external_lock( thd->transaction.all.innodb_active_trans = 1; trx->n_mysql_tables_in_use++; prebuilt->mysql_has_locked = TRUE; if (thd->tx_isolation == ISO_SERIALIZABLE && prebuilt->select_lock_type == LOCK_NONE) { Loading @@ -3527,6 +3528,7 @@ ha_innobase::external_lock( } } else { trx->n_mysql_tables_in_use--; prebuilt->mysql_has_locked = FALSE; auto_inc_counter_for_this_stat = 0; if (trx->n_mysql_tables_in_use == 0) { Loading Loading
innobase/include/row0mysql.h +1 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,7 @@ struct row_prebuilt_struct { an SQL statement: we may have to set an intention lock on the table, create a consistent read view etc. */ ibool mysql_has_locked; ibool clust_index_was_generated; /* if the user did not define a primary key in MySQL, then Innobase Loading
innobase/row/row0mysql.c +1 −0 Original line number Diff line number Diff line Loading @@ -320,6 +320,7 @@ row_create_prebuilt( prebuilt->trx = NULL; prebuilt->sql_stat_start = TRUE; prebuilt->mysql_has_locked = FALSE; prebuilt->index = NULL; prebuilt->n_template = 0; Loading
sql/ha_innobase.cc +3 −1 Original line number Diff line number Diff line Loading @@ -3453,7 +3453,7 @@ ha_innobase::start_stmt( prebuilt->hint_no_need_to_fetch_extra_cols = TRUE; prebuilt->read_just_key = 0; if (prebuilt->select_lock_type == LOCK_NONE) { if (!prebuilt->mysql_has_locked) { /* 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 Loading Loading @@ -3510,6 +3510,7 @@ ha_innobase::external_lock( thd->transaction.all.innodb_active_trans = 1; trx->n_mysql_tables_in_use++; prebuilt->mysql_has_locked = TRUE; if (thd->tx_isolation == ISO_SERIALIZABLE && prebuilt->select_lock_type == LOCK_NONE) { Loading @@ -3527,6 +3528,7 @@ ha_innobase::external_lock( } } else { trx->n_mysql_tables_in_use--; prebuilt->mysql_has_locked = FALSE; auto_inc_counter_for_this_stat = 0; if (trx->n_mysql_tables_in_use == 0) { Loading