summaryrefslogtreecommitdiff
path: root/sql/sql_handler.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2003-11-20 22:30:48 +0200
committermonty@mysql.com <>2003-11-20 22:30:48 +0200
commitb01fcb4e1438dcc1f9a31bcab30b98b578d1704a (patch)
tree47f72b790e762b88773ac94032106a9fec3ee4a4 /sql/sql_handler.cc
parent55e07608fd7bcb47bd92f744a07b7631aa91d9c6 (diff)
parentdd287a4cdf4b8937ce428678fa096134a5ae8a88 (diff)
downloadmariadb-git-b01fcb4e1438dcc1f9a31bcab30b98b578d1704a.tar.gz
Merge with 4.0 to get:
Fix for storing negative values in decimal fields Fix for FLUSH TABLE with HANDLER
Diffstat (limited to 'sql/sql_handler.cc')
-rw-r--r--sql/sql_handler.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc
index 88fedaad380..405cfdb5bdc 100644
--- a/sql/sql_handler.cc
+++ b/sql/sql_handler.cc
@@ -297,7 +297,20 @@ static TABLE **find_table_ptr_by_name(THD *thd, const char *db,
!my_strcasecmp(system_charset_info,
(is_alias ? table->table_name : table->real_name),
table_name))
+ {
+ if (table->version != refresh_version)
+ {
+ VOID(pthread_mutex_lock(&LOCK_open));
+ if (close_thread_table(thd, ptr))
+ {
+ /* Tell threads waiting for refresh that something has happened */
+ VOID(pthread_cond_broadcast(&COND_refresh));
+ }
+ VOID(pthread_mutex_unlock(&LOCK_open));
+ continue;
+ }
break;
+ }
ptr= &(table->next);
}
return ptr;