mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0 BitKeeper/etc/logging_ok: auto-union include/config-netware.h: Auto merged innobase/include/trx0trx.h: Auto merged innobase/trx/trx0trx.c: Auto merged
This commit is contained in:
@ -80,6 +80,9 @@ extern "C" {
|
||||
/* On NetWare, stack grows towards lower address*/
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* On NetWare, to fix the problem with the deletion of open files */
|
||||
#define CANT_DELETE_OPEN_FILES 1
|
||||
|
||||
/* default directory information */
|
||||
#define DEFAULT_MYSQL_HOME "sys:/mysql"
|
||||
#define PACKAGE "mysql"
|
||||
|
@ -381,6 +381,12 @@ struct trx_struct{
|
||||
in MySQL's binlog write, we will
|
||||
flush the log to disk later in
|
||||
a separate call */
|
||||
ibool must_flush_log_later;/* this flag is set to TRUE in
|
||||
trx_commit_off_kernel() if
|
||||
flush_log_later was TRUE, and there
|
||||
were modifications by the transaction;
|
||||
in that case we must flush the log
|
||||
in trx_commit_complete_for_mysql() */
|
||||
dulint commit_lsn; /* lsn at the time of the commit */
|
||||
ibool dict_operation; /* TRUE if the trx is used to create
|
||||
a table, create an index, or drop a
|
||||
|
@ -99,6 +99,7 @@ trx_create(
|
||||
trx->check_unique_secondary = TRUE;
|
||||
|
||||
trx->flush_log_later = FALSE;
|
||||
trx->must_flush_log_later = FALSE;
|
||||
|
||||
trx->dict_operation = FALSE;
|
||||
|
||||
@ -710,6 +711,8 @@ trx_commit_off_kernel(
|
||||
ut_ad(mutex_own(&kernel_mutex));
|
||||
#endif /* UNIV_SYNC_DEBUG */
|
||||
|
||||
trx->must_flush_log_later = FALSE;
|
||||
|
||||
rseg = trx->rseg;
|
||||
|
||||
if (trx->insert_undo != NULL || trx->update_undo != NULL) {
|
||||
@ -875,6 +878,7 @@ trx_commit_off_kernel(
|
||||
|
||||
if (trx->flush_log_later) {
|
||||
/* Do nothing yet */
|
||||
trx->must_flush_log_later = TRUE;
|
||||
} else if (srv_flush_log_at_trx_commit == 0) {
|
||||
/* Do nothing */
|
||||
} else if (srv_flush_log_at_trx_commit == 1) {
|
||||
@ -1594,7 +1598,9 @@ trx_commit_complete_for_mysql(
|
||||
|
||||
trx->op_info = "flushing log";
|
||||
|
||||
if (srv_flush_log_at_trx_commit == 0) {
|
||||
if (!trx->must_flush_log_later) {
|
||||
/* Do nothing */
|
||||
} else if (srv_flush_log_at_trx_commit == 0) {
|
||||
/* Do nothing */
|
||||
} else if (srv_flush_log_at_trx_commit == 1) {
|
||||
if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) {
|
||||
@ -1615,6 +1621,8 @@ trx_commit_complete_for_mysql(
|
||||
} else {
|
||||
ut_error;
|
||||
}
|
||||
|
||||
trx->must_flush_log_later = FALSE;
|
||||
|
||||
trx->op_info = "";
|
||||
|
||||
|
Reference in New Issue
Block a user