summaryrefslogtreecommitdiff
path: root/sql/ha_innodb.cc
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2005-04-13 20:21:28 +0300
committerunknown <heikki@hundin.mysql.fi>2005-04-13 20:21:28 +0300
commita40ecb481848ee7536a07506e68c2856ebac56ab (patch)
tree2d299206c04ed200ac475f3821934e9300426470 /sql/ha_innodb.cc
parent338df0b77c4147315a2096f0ebd294e4009775e1 (diff)
downloadmariadb-git-a40ecb481848ee7536a07506e68c2856ebac56ab.tar.gz
ha_innodb.cc:
Fix part of bug #9670: if MySQL calls ::store_lock with TL_IGNORE, do not change prebuilt->select_lock_type; this fix may heal the assertion failures reported in UPDATE and multi-table UPDATE; it is not clear if this fixes the problems in OPTIMIZE TABLE sql/ha_innodb.cc: Fix part of bug #9670: if MySQL calls ::store_lock with TL_IGNORE, do not change prebuilt->select_lock_type; this fix may heal the assertion failures reported in UPDATE and multi-table UPDATE; it is not clear if this fixes the problems in OPTIMIZE TABLE
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r--sql/ha_innodb.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index bd2a5139021..6cb35fb392d 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -5320,7 +5320,8 @@ ha_innobase::store_lock(
(lock_type == TL_READ_HIGH_PRIORITY && thd->in_lock_tables) ||
lock_type == TL_READ_WITH_SHARED_LOCKS ||
lock_type == TL_READ_NO_INSERT ||
- thd->lex->sql_command != SQLCOM_SELECT) {
+ (thd->lex->sql_command != SQLCOM_SELECT
+ && lock_type != TL_IGNORE)) {
/* The OR cases above are in this order:
1) MySQL is doing LOCK TABLES ... READ LOCAL, or