summaryrefslogtreecommitdiff
path: root/sql/lock.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com/nosik.monty.fi>2007-08-02 10:50:00 +0300
committerunknown <monty@mysql.com/nosik.monty.fi>2007-08-02 10:50:00 +0300
commitdcf1fd73d9e35767ad19783a35ce92648e933f0a (patch)
tree44d433e9a2ff1f5696292ed4019bd19aa1261dc7 /sql/lock.cc
parent926664fe2c802bd7ffc6d9a6b56372ba2e142b23 (diff)
downloadmariadb-git-dcf1fd73d9e35767ad19783a35ce92648e933f0a.tar.gz
Don't save & restore time fields from thd when it's not needed.
Added back setting of 'some_tables_deleted' to not cause deadlocks in mysql_lock_table() BitKeeper/etc/ignore: added tests/bug25714 sql/lock.cc: Added comment sql/log.cc: Don't save & restore time fields from thd when it's not needed. Fix that we properly detect if open table failed sql/sql_base.cc: Added back setting of 'some_tables_deleted' to not cause deadlocks in mysql_lock_table()
Diffstat (limited to 'sql/lock.cc')
-rw-r--r--sql/lock.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/lock.cc b/sql/lock.cc
index 8e13c42d6d4..20fb7d73c1c 100644
--- a/sql/lock.cc
+++ b/sql/lock.cc
@@ -290,6 +290,10 @@ MYSQL_LOCK *mysql_lock_tables(THD *thd, TABLE **tables, uint count,
}
else if (!thd->some_tables_deleted || (flags & MYSQL_LOCK_IGNORE_FLUSH))
{
+ /*
+ Thread was killed or lock aborted. Let upper level close all
+ used tables and retry or give error.
+ */
thd->locked=0;
break;
}