diff options
-rw-r--r-- | Docs/manual.texi | 6 | ||||
-rw-r--r-- | sql/sql_base.cc | 13 |
2 files changed, 5 insertions, 14 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 712b67e936e..6b5daa0f9b4 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -21486,7 +21486,7 @@ aborting the write. @item @code{open_files_limit} If this is not 0, then @code{mysqld} will use this value to reserve file -descriptors to use with @code{getrlimit()}. If this value is 0 then +descriptors to use with @code{setrlimit()}. If this value is 0 then @code{mysqld} will reserve @code{max_connections*5} or @code{max_connections + table_cache*2} (whichever is larger) number of files. You should try increasing this if @code{mysqld} gives you the @@ -42652,8 +42652,8 @@ MySQL 3.23 version). @item Fixed buffer overflow bug when writing a certain error message. @item -Added usage of @code{getrlimit()} on Linux to get @code{-O ---open-files-limit=#} to work on Linux. +Added usage of @code{setrlimit()} on Linux to get +@code{-O --open-files-limit=#} to work on Linux. @item Added new @code{mysqld} variable: @code{bdb_version}. @item diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 801ef63dcf3..85148de0cfa 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -32,8 +32,6 @@ TABLE *unused_tables; /* Used by mysql_test */ HASH open_cache; /* Used by mysql_test */ -static void reset_query_id_on_temp_tables(THD* thd); - static int open_unireg_entry(THD *thd,TABLE *entry,const char *db, const char *name, const char *alias, bool locked); static bool insert_fields(THD *thd,TABLE_LIST *tables, const char *table_name, @@ -1314,13 +1312,6 @@ err: DBUG_RETURN(1); } - -static void reset_query_id_on_temp_tables(THD* thd) -{ - for(TABLE* tmp = thd->temporary_tables; tmp; tmp = tmp->next) - tmp->query_id = 0; -} - /***************************************************************************** ** open all tables in list *****************************************************************************/ @@ -1348,13 +1339,13 @@ int open_tables(THD *thd,TABLE_LIST *start) pthread_mutex_lock(&LOCK_open); // if query_id is not reset, we will get an error // re-opening a temp table - reset_query_id_on_temp_tables(thd); thd->version=refresh_version; TABLE **prev_table= &thd->open_tables; bool found=0; for (TABLE_LIST *tmp=start ; tmp ; tmp=tmp->next) { - if (tmp->table) + /* Close normal (not temporary) changed tables */ + if (tmp->table && ! tmp->table->tmp_table) { if (tmp->table->version != refresh_version || ! tmp->table->db_stat) |