diff options
author | unknown <kostja@bodhi.(none)> | 2007-07-14 02:04:48 +0400 |
---|---|---|
committer | unknown <kostja@bodhi.(none)> | 2007-07-14 02:04:48 +0400 |
commit | 31ea7d042ba48bd34a457bba138d2189f844731d (patch) | |
tree | ccedd61617353a865ce05b7b2dd6643ea3cda980 /sql/mysql_priv.h | |
parent | 6ba23b0ac9a4548de36386b4f892af9c7d471e97 (diff) | |
download | mariadb-git-31ea7d042ba48bd34a457bba138d2189f844731d.tar.gz |
A follow up after the patch for Bug#21074 - even though
we now have exclusive name lock on the table name in mysql_rm_table_part2,
we still should keep LOCK_open - some storage engines are not
ready for locking scope change and assume that LOCK_open is kept.
Still, the binary logging and query cache invalidation calls
moved out of LOCK_open scope.
Fixes some of the broken 5.1-runtime tests (tests break on asserts).
sql/ha_ndbcluster.cc:
Do not lock LOCK_open for mysql_rm_table_part2 - it does that
for us now.
sql/mysql_priv.h:
Remove an unused flag.
sql/sql_class.h:
Fix an unrelated compiler warning.
sql/sql_db.cc:
Adjust to the changed signature.
sql/sql_table.cc:
mysql_rm_table_part2: we need to keep LOCK_open while calling
storage engine functions, even though now
we have an exclusive lock on the table name. Some of them assume that it's
kept and attempt to unlock it.
Diffstat (limited to 'sql/mysql_priv.h')
-rw-r--r-- | sql/mysql_priv.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index e0de89a5b74..8b00cfb5d24 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -901,8 +901,7 @@ void mysql_client_binlog_statement(THD *thd); bool mysql_rm_table(THD *thd,TABLE_LIST *tables, my_bool if_exists, my_bool drop_temporary); int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, - bool drop_temporary, bool drop_view, bool log_query, - bool need_lock_open); + bool drop_temporary, bool drop_view, bool log_query); bool quick_rm_table(handlerton *base,const char *db, const char *table_name, uint flags); void close_cached_table(THD *thd, TABLE *table); |