summaryrefslogtreecommitdiff
path: root/sql/lock.cc
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.com>2000-08-22 00:18:32 +0300
committerunknown <monty@donna.mysql.com>2000-08-22 00:18:32 +0300
commit90104181f979b04de0a2889c2299c0add02d949c (patch)
treec129c5ccdb3df8c87c28c6a51baac6e208294313 /sql/lock.cc
parent90bc6094eed4bde988bad568ac48bd686a127639 (diff)
downloadmariadb-git-90104181f979b04de0a2889c2299c0add02d949c.tar.gz
FLUSH TABLE table_list
Fixes for RENAME TABLE Portability fixes Docs/manual.texi: FLUSH TABLES table_list client/mysql.cc: Ia64 port client/mysqladmin.c: Ia64 port client/mysqldump.c: Ia64 port client/mysqlimport.c: Ia64 port client/mysqlshow.c: Ia64 port client/readline.cc: Ia64 port configure.in: Ia64 port include/config-win.h: Ia64 port include/thr_alarm.h: Ia64 port myisam/myisamdef.h: Ia64 port myisammrg/myrg_rkey.c: Ia64 port mysys/thr_alarm.c: Easier compile of non threaded client mysys/thr_lock.c: Easier compile of non threaded client mysys/thr_mutex.c: Easier compile of non threaded client sql-bench/crash-me.sh: Added test for RENAME + some ANSI SQL99 group functions sql-bench/limits/mysql.cfg: New run sql-bench/server-cfg.sh: Fix sql-bench/test-insert.sh: Fix sql/field.cc: Port to Ia64 sql/ha_berkeley.cc: Port to Ia64 sql/ha_myisam.cc: cleanup sql/handler.cc: Port to Ia64 sql/hostname.cc: Port to Ia64 sql/item.cc: Port to Ia64 sql/item_create.cc: Port to Ia64 sql/item_func.cc: Port to Ia64 sql/item_strfunc.cc: Port to Ia64 sql/item_timefunc.cc: Port to Ia64 sql/lock.cc: Fix for RENAME sql/log.cc: Port to Ia64 sql/log_event.h: Port to Ia64 sql/mini_client.cc: Port to Ia64 sql/mysql_priv.h: Port to Ia64 sql/mysqlbinlog.cc: Port to Ia64 sql/mysqld.cc: FLUSH TABLES table_list sql/net_pkg.cc: Port to Ia64 sql/procedure.h: Port to Ia64 sql/share/swedish/errmsg.OLD: FLUSH TABLES table_list sql/slave.cc: Port to Ia64 sql/sql_acl.cc: Port to Ia64 sql/sql_analyse.cc: Port to Ia64 sql/sql_analyse.h: Port to Ia64 sql/sql_base.cc: FLUSH TABLES table_list sql/sql_class.cc: Port to Ia64 sql/sql_class.h: Port to Ia64 sql/sql_parse.cc: Port to Ia64 sql/sql_rename.cc: Fix of RENAME sql/sql_show.cc: Port to Ia64 sql/sql_string.cc: Port to Ia64 sql/sql_string.h: Port to Ia64 sql/sql_table.cc: Fix of RENAME sql/sql_udf.cc: Port to Ia64 sql/sql_yacc.yy: FLUSH TABLES table_list sql/table.cc: Port to Ia64 sql/thr_malloc.cc: Port to Ia64 sql/time.cc: Port to Ia64 sql/unireg.cc: Port to Ia64
Diffstat (limited to 'sql/lock.cc')
-rw-r--r--sql/lock.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/sql/lock.cc b/sql/lock.cc
index be942c2ec78..228dff6b058 100644
--- a/sql/lock.cc
+++ b/sql/lock.cc
@@ -418,7 +418,11 @@ int lock_table_name(THD *thd, TABLE_LIST *table_list)
return 0;
/* Create a table entry with the right key and with an old refresh version */
- if (!(table= (TABLE*) thd->calloc(sizeof(*table)+key_length)))
+ /* Note that we must use my_malloc() here as this is freed by the table
+ cache */
+
+ if (!(table= (TABLE*) my_malloc(sizeof(*table)+key_length,
+ MYF(MY_WME | MY_ZEROFILL))))
return -1;
memcpy((table->table_cache_key= (char*) (table+1)), key, key_length);
table->key_length=key_length;
@@ -435,7 +439,7 @@ int lock_table_name(THD *thd, TABLE_LIST *table_list)
void unlock_table_name(THD *thd, TABLE_LIST *table_list)
{
if (table_list->table)
- hash_delete(&open_cache, (gptr) table_list->table);
+ hash_delete(&open_cache, (byte*) table_list->table);
}
static bool locked_named_table(THD *thd, TABLE_LIST *table_list)
@@ -461,10 +465,7 @@ bool wait_for_locked_table_names(THD *thd, TABLE_LIST *table_list)
break;
}
wait_for_refresh(thd);
+ pthread_mutex_lock(&LOCK_open);
}
- pthread_mutex_lock(&thd->mysys_var->mutex);
- thd->mysys_var->current_mutex=0;
- thd->mysys_var->current_cond=0;
- pthread_mutex_unlock(&thd->mysys_var->mutex);
return result;
}