Merge siva.hindu.god:/usr/home/tim/m/bk/inno/50
into siva.hindu.god:/usr/home/tim/m/bk/50
This commit is contained in:
commit
5a88282ec0
@ -6563,7 +6563,8 @@ ha_innobase::store_lock(
|
||||
&& lock_type != TL_IGNORE)) {
|
||||
|
||||
/* The OR cases above are in this order:
|
||||
1) MySQL is doing LOCK TABLES ... READ LOCAL, or
|
||||
1) MySQL is doing LOCK TABLES ... READ LOCAL, or we
|
||||
are processing a stored procedure or function, or
|
||||
2) (we do not know when TL_READ_HIGH_PRIORITY is used), or
|
||||
3) this is a SELECT ... IN SHARE MODE, or
|
||||
4) we are doing a complex SQL statement like
|
||||
@ -6625,7 +6626,8 @@ ha_innobase::store_lock(
|
||||
single transaction stored procedure call deterministic
|
||||
(if it does not use a consistent read). */
|
||||
|
||||
if (lock_type == TL_READ && thd->in_lock_tables) {
|
||||
if (lock_type == TL_READ
|
||||
&& thd->lex->sql_command == SQLCOM_LOCK_TABLES) {
|
||||
/* We come here if MySQL is processing LOCK TABLES
|
||||
... READ LOCAL. MyISAM under that table lock type
|
||||
reads the table as it was at the time the lock was
|
||||
@ -6684,8 +6686,7 @@ ha_innobase::store_lock(
|
||||
(MySQL does have thd->in_lock_tables TRUE there). */
|
||||
|
||||
if (lock_type == TL_READ_NO_INSERT
|
||||
&& (!thd->in_lock_tables
|
||||
|| thd->lex->sql_command == SQLCOM_CALL)) {
|
||||
&& thd->lex->sql_command != SQLCOM_LOCK_TABLES) {
|
||||
|
||||
lock_type = TL_READ;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user