mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge with 3.23.53
This commit is contained in:
@ -51223,8 +51223,14 @@ not yet 100% confident in this code.
|
|||||||
@appendixsubsec Changes in release 3.23.53
|
@appendixsubsec Changes in release 3.23.53
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@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
|
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}.
|
@code{NULL}.
|
||||||
@item
|
@item
|
||||||
Fixed a bug that @code{OPTIMIZE} of locked and modified MyISAM table,
|
Fixed a bug that @code{OPTIMIZE} of locked and modified MyISAM table,
|
||||||
|
@ -53,7 +53,7 @@ extern ulint srv_n_log_files;
|
|||||||
extern ulint srv_log_file_size;
|
extern ulint srv_log_file_size;
|
||||||
extern ibool srv_log_archive_on;
|
extern ibool srv_log_archive_on;
|
||||||
extern ulint srv_log_buffer_size;
|
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
|
extern byte srv_latin1_ordering[256];/* The sort order table of the latin1
|
||||||
character set */
|
character set */
|
||||||
|
@ -15,8 +15,6 @@ Created 10/21/1995 Heikki Tuuri
|
|||||||
|
|
||||||
#undef HAVE_FDATASYNC
|
#undef HAVE_FDATASYNC
|
||||||
|
|
||||||
#undef UNIV_NON_BUFFERED_IO
|
|
||||||
|
|
||||||
#ifdef POSIX_ASYNC_IO
|
#ifdef POSIX_ASYNC_IO
|
||||||
/* We assume in this case that the OS has standard Posix aio (at least SunOS
|
/* 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) */
|
2.6, HP-UX 11i and AIX 4.3 have) */
|
||||||
@ -500,14 +498,25 @@ try_again:
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef UNIV_NON_BUFFERED_IO
|
#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;
|
attributes = attributes | FILE_FLAG_NO_BUFFERING;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
} else if (purpose == OS_FILE_NORMAL) {
|
} else if (purpose == OS_FILE_NORMAL) {
|
||||||
attributes = 0
|
attributes = 0;
|
||||||
#ifdef UNIV_NON_BUFFERED_IO
|
#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
|
#endif
|
||||||
;
|
|
||||||
} else {
|
} else {
|
||||||
attributes = 0;
|
attributes = 0;
|
||||||
ut_error;
|
ut_error;
|
||||||
|
@ -1186,7 +1186,12 @@ row_create_table_for_mysql(
|
|||||||
ut_ad(trx->mysql_thread_id == os_thread_get_curr_id());
|
ut_ad(trx->mysql_thread_id == os_thread_get_curr_id());
|
||||||
ut_ad(mutex_own(&(dict_sys->mutex)));
|
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,
|
fprintf(stderr,
|
||||||
"InnoDB: A new raw disk partition was initialized or\n"
|
"InnoDB: A new raw disk partition was initialized or\n"
|
||||||
"InnoDB: innodb_force_recovery is on: we do not allow\n"
|
"InnoDB: innodb_force_recovery is on: we do not allow\n"
|
||||||
@ -1707,7 +1712,13 @@ row_drop_table_for_mysql(
|
|||||||
ut_ad(trx->mysql_thread_id == os_thread_get_curr_id());
|
ut_ad(trx->mysql_thread_id == os_thread_get_curr_id());
|
||||||
ut_a(name != NULL);
|
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,
|
fprintf(stderr,
|
||||||
"InnoDB: A new raw disk partition was initialized or\n"
|
"InnoDB: A new raw disk partition was initialized or\n"
|
||||||
"InnoDB: innodb_force_recovery is on: we do not allow\n"
|
"InnoDB: innodb_force_recovery is on: we do not allow\n"
|
||||||
|
@ -96,7 +96,7 @@ ulint srv_n_log_files = ULINT_MAX;
|
|||||||
ulint srv_log_file_size = ULINT_MAX; /* size in database pages */
|
ulint srv_log_file_size = ULINT_MAX; /* size in database pages */
|
||||||
ibool srv_log_archive_on = TRUE;
|
ibool srv_log_archive_on = TRUE;
|
||||||
ulint srv_log_buffer_size = ULINT_MAX; /* size in database pages */
|
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
|
byte srv_latin1_ordering[256] /* The sort order table of the latin1
|
||||||
character set. The following table is
|
character set. The following table is
|
||||||
|
Reference in New Issue
Block a user