diff options
author | unknown <svoj@june.mysql.com> | 2007-06-01 15:33:48 +0500 |
---|---|---|
committer | unknown <svoj@june.mysql.com> | 2007-06-01 15:33:48 +0500 |
commit | 1736ae77027e840910e55621dad170b08448d0d9 (patch) | |
tree | 1e66a3230bdebdd804e3a41a3ef6c35a25b6d6cb /sql/lock.cc | |
parent | 92f59fc73d09c7b8d304ab61ab9463c556bdca5f (diff) | |
parent | 12d55a8cc616670cf1c11338639c3e367c4fe3d4 (diff) | |
download | mariadb-git-1736ae77027e840910e55621dad170b08448d0d9.tar.gz |
Merge mysql.com:/home/svoj/devel/mysql/BUG28574/mysql-5.0-engines
into mysql.com:/home/svoj/devel/mysql/BUG28574/mysql-5.1-engines
sql/lock.cc:
Auto merged
Diffstat (limited to 'sql/lock.cc')
-rw-r--r-- | sql/lock.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/lock.cc b/sql/lock.cc index 6f1dd0669ee..08c109a17ab 100644 --- a/sql/lock.cc +++ b/sql/lock.cc @@ -197,6 +197,13 @@ MYSQL_LOCK *mysql_lock_tables(THD *thd, TABLE **tables, uint count, } else if (rc == 1) /* aborted */ { + /* + reset_lock_data is required here. If thr_multi_lock fails it + resets lock type for tables, which were locked before (and + including) one that caused error. Lock type for other tables + preserved. + */ + reset_lock_data(sql_lock); thd->some_tables_deleted=1; // Try again sql_lock->lock_count= 0; // Locks are already freed } |