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*/
|
/* On NetWare, stack grows towards lower address*/
|
||||||
#define STACK_DIRECTION -1
|
#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 */
|
/* default directory information */
|
||||||
#define DEFAULT_MYSQL_HOME "sys:/mysql"
|
#define DEFAULT_MYSQL_HOME "sys:/mysql"
|
||||||
#define PACKAGE "mysql"
|
#define PACKAGE "mysql"
|
||||||
|
@ -381,6 +381,12 @@ struct trx_struct{
|
|||||||
in MySQL's binlog write, we will
|
in MySQL's binlog write, we will
|
||||||
flush the log to disk later in
|
flush the log to disk later in
|
||||||
a separate call */
|
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 */
|
dulint commit_lsn; /* lsn at the time of the commit */
|
||||||
ibool dict_operation; /* TRUE if the trx is used to create
|
ibool dict_operation; /* TRUE if the trx is used to create
|
||||||
a table, create an index, or drop a
|
a table, create an index, or drop a
|
||||||
|
@ -99,6 +99,7 @@ trx_create(
|
|||||||
trx->check_unique_secondary = TRUE;
|
trx->check_unique_secondary = TRUE;
|
||||||
|
|
||||||
trx->flush_log_later = FALSE;
|
trx->flush_log_later = FALSE;
|
||||||
|
trx->must_flush_log_later = FALSE;
|
||||||
|
|
||||||
trx->dict_operation = FALSE;
|
trx->dict_operation = FALSE;
|
||||||
|
|
||||||
@ -710,6 +711,8 @@ trx_commit_off_kernel(
|
|||||||
ut_ad(mutex_own(&kernel_mutex));
|
ut_ad(mutex_own(&kernel_mutex));
|
||||||
#endif /* UNIV_SYNC_DEBUG */
|
#endif /* UNIV_SYNC_DEBUG */
|
||||||
|
|
||||||
|
trx->must_flush_log_later = FALSE;
|
||||||
|
|
||||||
rseg = trx->rseg;
|
rseg = trx->rseg;
|
||||||
|
|
||||||
if (trx->insert_undo != NULL || trx->update_undo != NULL) {
|
if (trx->insert_undo != NULL || trx->update_undo != NULL) {
|
||||||
@ -875,6 +878,7 @@ trx_commit_off_kernel(
|
|||||||
|
|
||||||
if (trx->flush_log_later) {
|
if (trx->flush_log_later) {
|
||||||
/* Do nothing yet */
|
/* Do nothing yet */
|
||||||
|
trx->must_flush_log_later = TRUE;
|
||||||
} else if (srv_flush_log_at_trx_commit == 0) {
|
} else if (srv_flush_log_at_trx_commit == 0) {
|
||||||
/* Do nothing */
|
/* Do nothing */
|
||||||
} else if (srv_flush_log_at_trx_commit == 1) {
|
} else if (srv_flush_log_at_trx_commit == 1) {
|
||||||
@ -1594,7 +1598,9 @@ trx_commit_complete_for_mysql(
|
|||||||
|
|
||||||
trx->op_info = "flushing log";
|
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 */
|
/* Do nothing */
|
||||||
} else if (srv_flush_log_at_trx_commit == 1) {
|
} else if (srv_flush_log_at_trx_commit == 1) {
|
||||||
if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) {
|
if (srv_unix_file_flush_method == SRV_UNIX_NOSYNC) {
|
||||||
@ -1615,6 +1621,8 @@ trx_commit_complete_for_mysql(
|
|||||||
} else {
|
} else {
|
||||||
ut_error;
|
ut_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trx->must_flush_log_later = FALSE;
|
||||||
|
|
||||||
trx->op_info = "";
|
trx->op_info = "";
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user