summaryrefslogtreecommitdiff
path: root/innobase/include
diff options
context:
space:
mode:
authorunknown <marko@hundin.mysql.fi>2004-09-30 15:54:19 +0300
committerunknown <marko@hundin.mysql.fi>2004-09-30 15:54:19 +0300
commit927179ecd464e6dca78d0eabc2653ec63072456f (patch)
tree884195db59cc7fb8d862666885451f450071788d /innobase/include
parent1dbc71afaafb50e81b37b3028ed6c0e610cd9140 (diff)
downloadmariadb-git-927179ecd464e6dca78d0eabc2653ec63072456f.tar.gz
InnoDB: implement innodb_max_purge_lag
innobase/include/srv0srv.h: Added srv_max_purge_lag and srv_dml_needed_delay innobase/include/trx0sys.h: Added trx_sys->rseg_history_len innobase/row/row0mysql.c: Added row_mysql_delay_if_needed() innobase/srv/srv0srv.c: Added srv_max_purge_lag and srv_dml_needed_delay innobase/trx/trx0purge.c: Update trx_sys->rseg_history_len. Calculate 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 sql/ha_innodb.h: Add srv_max_purge_lag sql/mysqld.cc: Add parameter innodb_max_purge_lag sql/set_var.cc: Add global variable innodb_max_purge_lag
Diffstat (limited to 'innobase/include')
-rw-r--r--innobase/include/srv0srv.h3
-rw-r--r--innobase/include/trx0sys.h4
2 files changed, 7 insertions, 0 deletions
diff --git a/innobase/include/srv0srv.h b/innobase/include/srv0srv.h
index a5508b23a5c..2050e5b45c0 100644
--- a/innobase/include/srv0srv.h
+++ b/innobase/include/srv0srv.h
@@ -110,6 +110,8 @@ extern int srv_query_thread_priority;
extern ibool srv_use_awe;
extern ibool srv_use_adaptive_hash_indexes;
+
+extern ulint srv_max_purge_lag;
/*-------------------------------------------*/
extern ulint srv_n_rows_inserted;
@@ -163,6 +165,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 8f402881224..31e8607f8a0 100644
--- a/innobase/include/trx0sys.h
+++ b/innobase/include/trx0sys.h
@@ -432,6 +432,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 */