diff options
author | unknown <marko@hundin.mysql.fi> | 2004-10-27 13:33:11 +0300 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2004-10-27 13:33:11 +0300 |
commit | 743597ea96cbf227c2c5dd34b9837802d62ad834 (patch) | |
tree | 811cd8122c4f67f06ae87f7dde570b7aea9d484d /innobase/include | |
parent | 9abe7d272bcd75ef4eb83a33f31a3c9b756317a1 (diff) | |
download | mariadb-git-743597ea96cbf227c2c5dd34b9837802d62ad834.tar.gz |
Backport innodb_max_purge_lag from 4.1
innobase/include/srv0srv.h:
Add configuration parameter srv_max_purge_lag.
Add global variable srv_dml_needed_delay.
innobase/include/trx0sys.h:
Add trx_sys->rseg_history_len
innobase/row/row0mysql.c:
Add row_mysql_delay_if_needed() for delaying INSERTs, UPDATEs and
DELETEs for srv_dml_needed_delay microseconds.
innobase/srv/srv0srv.c:
Define global variable srv_dml_needed_delay.
Define configuration parameter srv_max_purge_lag.
innobase/trx/trx0purge.c:
Update trx_sys->rseg_history_len.
trx_purge(): Compute srv_dml_needed_delay from srv_max_purge_lag
and trx_sys->rseg_history_len.
innobase/trx/trx0rseg.c:
Initialize trx_sys->rseg_history_len at InnoDB start-up.
sql/ha_innodb.h:
Add configuration parameter srv_max_purge_lag.
sql/mysqld.cc:
Add startup option innodb_max_purge_lag,
with default value 0 (meaning infinite, disabling the feature).
sql/set_var.cc:
Add global variable innodb_max_purge_lag.
Diffstat (limited to 'innobase/include')
-rw-r--r-- | innobase/include/srv0srv.h | 2 | ||||
-rw-r--r-- | innobase/include/trx0sys.h | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/innobase/include/srv0srv.h b/innobase/include/srv0srv.h index 57ca1f84f26..c76a1917615 100644 --- a/innobase/include/srv0srv.h +++ b/innobase/include/srv0srv.h @@ -99,6 +99,7 @@ extern ibool srv_use_doublewrite_buf; extern ibool srv_set_thread_priorities; extern int srv_query_thread_priority; +extern ulint srv_max_purge_lag; /*-------------------------------------------*/ extern ulint srv_n_rows_inserted; @@ -152,6 +153,7 @@ extern ulint srv_test_array_size; extern ulint srv_activity_count; extern ulint srv_fatal_semaphore_wait_threshold; +extern ulint srv_dml_needed_delay; extern mutex_t* kernel_mutex_temp;/* mutex protecting the server, trx structs, query threads, and lock table: we allocate diff --git a/innobase/include/trx0sys.h b/innobase/include/trx0sys.h index c7ef4d1929d..4d83c5eeaae 100644 --- a/innobase/include/trx0sys.h +++ b/innobase/include/trx0sys.h @@ -419,6 +419,10 @@ struct trx_sys_struct{ trx_rseg_t* rseg_array[TRX_SYS_N_RSEGS]; /* Pointer array to rollback segments; NULL if slot not in use */ + ulint rseg_history_len;/* Length of the TRX_RSEG_HISTORY + list (update undo logs for committed + transactions), protected by + rseg->mutex */ UT_LIST_BASE_NODE_T(read_view_t) view_list; /* List of read views sorted on trx no, biggest first */ |