summaryrefslogtreecommitdiff
path: root/sql/authors.h
diff options
context:
space:
mode:
authorMattias Jonsson <mattias.jonsson@sun.com>2010-03-17 15:10:41 +0100
committerMattias Jonsson <mattias.jonsson@sun.com>2010-03-17 15:10:41 +0100
commit3b897f2bc5de31e7f166a02fccf5f3e4017f4a5f (patch)
tree817537f1993a7a5dd2793a5a9122af60a9041efd /sql/authors.h
parent8d514f21459b2bc767d7be00ab05ccf615c33e6b (diff)
downloadmariadb-git-3b897f2bc5de31e7f166a02fccf5f3e4017f4a5f.tar.gz
Bug#50561: ALTER PARTITIONS does not have adequate lock, breaks with
concurrent I_S query There were two problem: 1) MYSQL_LOCK_IGNORE_FLUSH also ignored name locks 2) there was a race between abort_and_upgrade_locks and alter_close_tables (i.e. remove_table_from_cache and close_data_files_and_morph_locks) Which allowed the table to be opened with MYSQL_LOCK_IGNORE_FLUSH flag resulting in renaming a partition that was already in use, which could cause the table to be unusable. Solution was to not allow IGNORE_FLUSH to skip waiting for a named locked table. And to not release the LOCK_open mutex between the calls to remove_table_from_cache and close_data_files_and_morph_locks by merging the functions abort_and_upgrade_locks and alter_close_tables.
Diffstat (limited to 'sql/authors.h')
-rw-r--r--sql/authors.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/authors.h b/sql/authors.h
index dfe3b143e2f..925c942fa24 100644
--- a/sql/authors.h
+++ b/sql/authors.h
@@ -76,6 +76,7 @@ struct show_table_authors_st show_table_authors[]= {
{ "Eric Herman", "Amsterdam, Netherlands", "Bug fixing - federated" },
{ "Andrey Hristov", "Walldorf, Germany", "Event scheduler (5.1)" },
{ "Alexander (Alexi) Ivanov", "St. Petersburg, Russia", "Replication" },
+ { "Mattias Jonsson", "Uppsala, Sweden", "Partitioning" },
{ "Alexander (Salle) Keremidarski", "Sofia, Bulgaria",
"Bug fixing" },
{ "Mats Kindahl", "Storvreta, Sweden", "Replication" },