summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <acurtis/antony@ltamd64.xiphis.org>2007-06-06 12:03:54 -0700
committerunknown <acurtis/antony@ltamd64.xiphis.org>2007-06-06 12:03:54 -0700
commita4422e8af784438f914c086e064fb84b40e572da (patch)
tree2942c1e225c18459965d8912b097c4706ac940aa /sql
parentf5bc5381ae6142c4de27b282fb9cd63130b174f6 (diff)
parent797bbbd4b06737a2907d5817acd2f6e334970e90 (diff)
downloadmariadb-git-a4422e8af784438f914c086e064fb84b40e572da.tar.gz
Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
into xiphis.org:/home/antony/work2/mysql-5.0-engines.merge sql/mysqld.cc: Auto merged
Diffstat (limited to 'sql')
-rw-r--r--sql/lock.cc7
-rw-r--r--sql/mysqld.cc2
2 files changed, 8 insertions, 1 deletions
diff --git a/sql/lock.cc b/sql/lock.cc
index 9298b33b4d2..93358e56701 100644
--- a/sql/lock.cc
+++ b/sql/lock.cc
@@ -178,6 +178,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
}
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 3cb7389546b..d01e56d0fb2 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5827,7 +5827,7 @@ log and this option does nothing anymore.",
(gptr*) &dflt_key_cache_var.param_block_size,
(gptr*) 0,
0, (GET_ULONG | GET_ASK_ADDR), REQUIRED_ARG,
- KEY_CACHE_BLOCK_SIZE , 512, 1024*16, MALLOC_OVERHEAD, 512, 0},
+ KEY_CACHE_BLOCK_SIZE, 512, 1024 * 16, 0, 512, 0},
{"key_cache_division_limit", OPT_KEY_CACHE_DIVISION_LIMIT,
"The minimum percentage of warm blocks in key cache",
(gptr*) &dflt_key_cache_var.param_division_limit,