Loading Docs/manual.texi +7 −1 Original line number Diff line number Diff line Loading @@ -51223,8 +51223,14 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.53 @itemize @bullet @item Fixed bug in @code{ALTER TABLE} and @code{RENAME TABLE} when running with @code{-O lower_case_table_names=1} (typically on windows) when giving the table name in uppercase. @item Fixed unlikely core dump with @code{SELECT ... ORDER BY ... LIMIT}. @item Changed @code{AND/OR} to report that they can return NULL. This fixes a bug in @code{GROUP BY} on @code{AND/OR} expression that return bug in @code{GROUP BY} on @code{AND/OR} expressions that return @code{NULL}. @item Fixed a bug that @code{OPTIMIZE} of locked and modified MyISAM table, innobase/include/srv0srv.h +1 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ extern ulint srv_n_log_files; extern ulint srv_log_file_size; extern ibool srv_log_archive_on; extern ulint srv_log_buffer_size; extern ibool srv_flush_log_at_trx_commit; extern ulint srv_flush_log_at_trx_commit; extern byte srv_latin1_ordering[256];/* The sort order table of the latin1 character set */ Loading innobase/os/os0file.c +15 −6 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ Created 10/21/1995 Heikki Tuuri #undef HAVE_FDATASYNC #undef UNIV_NON_BUFFERED_IO #ifdef POSIX_ASYNC_IO /* We assume in this case that the OS has standard Posix aio (at least SunOS 2.6, HP-UX 11i and AIX 4.3 have) */ Loading Loading @@ -500,14 +498,25 @@ os_file_create( } #endif #ifdef UNIV_NON_BUFFERED_IO if (type == OS_LOG_FILE && srv_flush_log_at_trx_commit == 2) { /* Do not use unbuffered i/o to log files because value 2 denotes that we do not flush the log at every commit, but only once per second */ } else { attributes = attributes | FILE_FLAG_NO_BUFFERING; } #endif } else if (purpose == OS_FILE_NORMAL) { attributes = 0 attributes = 0; #ifdef UNIV_NON_BUFFERED_IO | FILE_FLAG_NO_BUFFERING if (type == OS_LOG_FILE && srv_flush_log_at_trx_commit == 2) { /* Do not use unbuffered i/o to log files because value 2 denotes that we do not flush the log at every commit, but only once per second */ } else { attributes = attributes | FILE_FLAG_NO_BUFFERING; } #endif ; } else { attributes = 0; ut_error; Loading innobase/row/row0mysql.c +13 −2 Original line number Diff line number Diff line Loading @@ -1186,7 +1186,12 @@ row_create_table_for_mysql( ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); ut_ad(mutex_own(&(dict_sys->mutex))); if (srv_created_new_raw || srv_force_recovery) { /* We allow a create table also if innodb_force_recovery is used. This enables the user to stop a runaway rollback or a crash caused by a temporary table #sql... He can use the trick explained in the manual to rename the temporary table to rsql..., and then drop it. */ if (srv_created_new_raw) { fprintf(stderr, "InnoDB: A new raw disk partition was initialized or\n" "InnoDB: innodb_force_recovery is on: we do not allow\n" Loading Loading @@ -1707,7 +1712,13 @@ row_drop_table_for_mysql( ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); ut_a(name != NULL); if (srv_created_new_raw || srv_force_recovery) { /* Note that we allow dropping of a table even if innodb_force_recovery is used. If a rollback or purge would crash because of a corrupt table, the user can try dropping it to avoid the crash. This is also a nice way to stop a runaway rollback caused by a failing big table import in a single transaction. */ if (srv_created_new_raw) { fprintf(stderr, "InnoDB: A new raw disk partition was initialized or\n" "InnoDB: innodb_force_recovery is on: we do not allow\n" Loading innobase/srv/srv0srv.c +1 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ ulint srv_n_log_files = ULINT_MAX; ulint srv_log_file_size = ULINT_MAX; /* size in database pages */ ibool srv_log_archive_on = TRUE; ulint srv_log_buffer_size = ULINT_MAX; /* size in database pages */ ibool srv_flush_log_at_trx_commit = TRUE; ulint srv_flush_log_at_trx_commit = 1; byte srv_latin1_ordering[256] /* The sort order table of the latin1 character set. The following table is Loading Loading
Docs/manual.texi +7 −1 Original line number Diff line number Diff line Loading @@ -51223,8 +51223,14 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.53 @itemize @bullet @item Fixed bug in @code{ALTER TABLE} and @code{RENAME TABLE} when running with @code{-O lower_case_table_names=1} (typically on windows) when giving the table name in uppercase. @item Fixed unlikely core dump with @code{SELECT ... ORDER BY ... LIMIT}. @item Changed @code{AND/OR} to report that they can return NULL. This fixes a bug in @code{GROUP BY} on @code{AND/OR} expression that return bug in @code{GROUP BY} on @code{AND/OR} expressions that return @code{NULL}. @item Fixed a bug that @code{OPTIMIZE} of locked and modified MyISAM table,
innobase/include/srv0srv.h +1 −1 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ extern ulint srv_n_log_files; extern ulint srv_log_file_size; extern ibool srv_log_archive_on; extern ulint srv_log_buffer_size; extern ibool srv_flush_log_at_trx_commit; extern ulint srv_flush_log_at_trx_commit; extern byte srv_latin1_ordering[256];/* The sort order table of the latin1 character set */ Loading
innobase/os/os0file.c +15 −6 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ Created 10/21/1995 Heikki Tuuri #undef HAVE_FDATASYNC #undef UNIV_NON_BUFFERED_IO #ifdef POSIX_ASYNC_IO /* We assume in this case that the OS has standard Posix aio (at least SunOS 2.6, HP-UX 11i and AIX 4.3 have) */ Loading Loading @@ -500,14 +498,25 @@ os_file_create( } #endif #ifdef UNIV_NON_BUFFERED_IO if (type == OS_LOG_FILE && srv_flush_log_at_trx_commit == 2) { /* Do not use unbuffered i/o to log files because value 2 denotes that we do not flush the log at every commit, but only once per second */ } else { attributes = attributes | FILE_FLAG_NO_BUFFERING; } #endif } else if (purpose == OS_FILE_NORMAL) { attributes = 0 attributes = 0; #ifdef UNIV_NON_BUFFERED_IO | FILE_FLAG_NO_BUFFERING if (type == OS_LOG_FILE && srv_flush_log_at_trx_commit == 2) { /* Do not use unbuffered i/o to log files because value 2 denotes that we do not flush the log at every commit, but only once per second */ } else { attributes = attributes | FILE_FLAG_NO_BUFFERING; } #endif ; } else { attributes = 0; ut_error; Loading
innobase/row/row0mysql.c +13 −2 Original line number Diff line number Diff line Loading @@ -1186,7 +1186,12 @@ row_create_table_for_mysql( ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); ut_ad(mutex_own(&(dict_sys->mutex))); if (srv_created_new_raw || srv_force_recovery) { /* We allow a create table also if innodb_force_recovery is used. This enables the user to stop a runaway rollback or a crash caused by a temporary table #sql... He can use the trick explained in the manual to rename the temporary table to rsql..., and then drop it. */ if (srv_created_new_raw) { fprintf(stderr, "InnoDB: A new raw disk partition was initialized or\n" "InnoDB: innodb_force_recovery is on: we do not allow\n" Loading Loading @@ -1707,7 +1712,13 @@ row_drop_table_for_mysql( ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); ut_a(name != NULL); if (srv_created_new_raw || srv_force_recovery) { /* Note that we allow dropping of a table even if innodb_force_recovery is used. If a rollback or purge would crash because of a corrupt table, the user can try dropping it to avoid the crash. This is also a nice way to stop a runaway rollback caused by a failing big table import in a single transaction. */ if (srv_created_new_raw) { fprintf(stderr, "InnoDB: A new raw disk partition was initialized or\n" "InnoDB: innodb_force_recovery is on: we do not allow\n" Loading
innobase/srv/srv0srv.c +1 −1 Original line number Diff line number Diff line Loading @@ -96,7 +96,7 @@ ulint srv_n_log_files = ULINT_MAX; ulint srv_log_file_size = ULINT_MAX; /* size in database pages */ ibool srv_log_archive_on = TRUE; ulint srv_log_buffer_size = ULINT_MAX; /* size in database pages */ ibool srv_flush_log_at_trx_commit = TRUE; ulint srv_flush_log_at_trx_commit = 1; byte srv_latin1_ordering[256] /* The sort order table of the latin1 character set. The following table is Loading