Loading Docs/manual.texi +4 −0 Original line number Diff line number Diff line Loading @@ -46929,6 +46929,10 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.53 @itemize @bullet @item Changed @code{AND/OR} to report that they can return NULL. This fixes a small problem in @code{GROUP BY} on @code{AND/OR} expression that return @code{NULL}. @item Fixed a @code{BDB}-related @code{ALTER TABLE} bug with dropping a column and shutting down immediately thereafter. @item sql/item_cmpfunc.cc +2 −0 Original line number Diff line number Diff line Loading @@ -1097,6 +1097,8 @@ Item_cond::fix_fields(THD *thd,TABLE_LIST *tables) used_tables_cache|=item->used_tables(); with_sum_func= with_sum_func || item->with_sum_func; const_item_cache&=item->const_item(); if (item->maybe_null) maybe_null=1; } if (thd) thd->cond_count+=list.elements; Loading sql/sql_table.cc +13 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ #include "mysql_priv.h" #include <hash.h> #ifdef HAVE_BERKELEY_DB #include <ha_berkeley.h> #endif #include <myisam.h> #ifdef __WIN__ Loading Loading @@ -1675,11 +1678,18 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, VOID(pthread_cond_broadcast(&COND_refresh)); VOID(pthread_mutex_unlock(&LOCK_open)); #ifdef HAVE_BERKELEY_DB extern bool berkeley_flush_logs(void); if (old_db_type == DB_TYPE_BERKELEY_DB) { (void) berkeley_flush_logs(); table=open_ltable(thd,table_list,TL_READ); /* For the alter table to be properly flushed to the logs, we have to open the new table. If not, we get a problem on server shutdown. */ if (!open_tables(thd, table_list)) // Should always succeed { close_thread_table(thd, &table_list->table); } } #endif Loading Loading
Docs/manual.texi +4 −0 Original line number Diff line number Diff line Loading @@ -46929,6 +46929,10 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.53 @itemize @bullet @item Changed @code{AND/OR} to report that they can return NULL. This fixes a small problem in @code{GROUP BY} on @code{AND/OR} expression that return @code{NULL}. @item Fixed a @code{BDB}-related @code{ALTER TABLE} bug with dropping a column and shutting down immediately thereafter. @item
sql/item_cmpfunc.cc +2 −0 Original line number Diff line number Diff line Loading @@ -1097,6 +1097,8 @@ Item_cond::fix_fields(THD *thd,TABLE_LIST *tables) used_tables_cache|=item->used_tables(); with_sum_func= with_sum_func || item->with_sum_func; const_item_cache&=item->const_item(); if (item->maybe_null) maybe_null=1; } if (thd) thd->cond_count+=list.elements; Loading
sql/sql_table.cc +13 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ #include "mysql_priv.h" #include <hash.h> #ifdef HAVE_BERKELEY_DB #include <ha_berkeley.h> #endif #include <myisam.h> #ifdef __WIN__ Loading Loading @@ -1675,11 +1678,18 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, VOID(pthread_cond_broadcast(&COND_refresh)); VOID(pthread_mutex_unlock(&LOCK_open)); #ifdef HAVE_BERKELEY_DB extern bool berkeley_flush_logs(void); if (old_db_type == DB_TYPE_BERKELEY_DB) { (void) berkeley_flush_logs(); table=open_ltable(thd,table_list,TL_READ); /* For the alter table to be properly flushed to the logs, we have to open the new table. If not, we get a problem on server shutdown. */ if (!open_tables(thd, table_list)) // Should always succeed { close_thread_table(thd, &table_list->table); } } #endif Loading