Commit f35117ea authored by unknown's avatar unknown
Browse files

InnoDB: Backport innodb_autoextend_increment from 4.1


innobase/include/srv0srv.h:
  Add configuration variable srv_auto_extend_increment
innobase/srv/srv0srv.c:
  Add configuration variable srv_auto_extend_increment
sql/ha_innodb.h:
  Add configuration variable srv_auto_extend_increment
sql/mysqld.cc:
  Add startup option innodb_autoextend_increment
sql/set_var.cc:
  Add settable global variable innodb_autoextend_increment
parent b7c59b9e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -27,7 +27,8 @@ extern os_event_t srv_lock_timeout_thread_event;

/* If the last data file is auto-extended, we add this many pages to it
at a time */
#define SRV_AUTO_EXTEND_INCREMENT   (8 * ((1024 * 1024) / UNIV_PAGE_SIZE))
#define SRV_AUTO_EXTEND_INCREMENT	\
	(srv_auto_extend_increment * ((1024 * 1024) / UNIV_PAGE_SIZE))

/* This is set to TRUE if the MySQL user has set it in MySQL */
extern ibool	srv_lower_case_table_names;
@@ -49,6 +50,7 @@ extern ulint* srv_data_file_is_raw_partition;

extern ibool	srv_auto_extend_last_data_file;
extern ulint	srv_last_file_size_max;
extern ulint	srv_auto_extend_increment;

extern ibool	srv_created_new_raw;

+3 −0
Original line number Diff line number Diff line
@@ -86,6 +86,9 @@ ulint srv_last_file_size_max = 0; /* if != 0, this tells
						 the max size auto-extending
						 may increase the last data
						 file size */
ulint	srv_auto_extend_increment = 8;		 /* If the last data file is
						 auto-extended, we add this
						 many pages to it at a time */
ulint*  srv_data_file_is_raw_partition = NULL;

/* If the following is TRUE we do not allow inserts etc. This protects
+1 −0
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@ extern my_bool innobase_log_archive,
extern "C" {
extern ulong srv_max_buf_pool_modified_pct;
extern ulong srv_max_purge_lag;
extern ulong srv_auto_extend_increment;
}

extern TYPELIB innobase_lock_typelib;
+6 −0
Original line number Diff line number Diff line
@@ -3518,6 +3518,7 @@ enum options_mysqld {
  OPT_INNODB_FORCE_RECOVERY,
  OPT_INNODB_STATUS_FILE,
  OPT_INNODB_MAX_DIRTY_PAGES_PCT,
  OPT_INNODB_AUTOEXTEND_INCREMENT,
  OPT_INNODB_TABLE_LOCKS,
  OPT_BDB_CACHE_SIZE,
  OPT_BDB_LOG_BUFFER_SIZE,
@@ -3659,6 +3660,11 @@ struct my_option my_long_options[] =
   "Path to individual files and their sizes",
   0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#ifdef HAVE_INNOBASE_DB
  {"innodb_autoextend_increment", OPT_INNODB_AUTOEXTEND_INCREMENT,
   "Data file autoextend increment in megabytes",
   (gptr*) &srv_auto_extend_increment,
   (gptr*) &srv_auto_extend_increment,
   0, GET_LONG, REQUIRED_ARG, 8L, 1L, 1000L, 0, 1L, 0},
  {"innodb_data_home_dir", OPT_INNODB_DATA_HOME_DIR,
   "The common part for Innodb table spaces", (gptr*) &innobase_data_home_dir,
   (gptr*) &innobase_data_home_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0,
+4 −0
Original line number Diff line number Diff line
@@ -265,6 +265,8 @@ sys_var_long_ptr sys_innodb_max_dirty_pages_pct("innodb_max_dirty_pages_p
                                                        &srv_max_buf_pool_modified_pct);
sys_var_long_ptr	sys_innodb_max_purge_lag("innodb_max_purge_lag",
							&srv_max_purge_lag);
sys_var_long_ptr	sys_innodb_autoextend_increment("innodb_autoextend_increment",
							&srv_auto_extend_increment);
sys_var_thd_bool	sys_innodb_table_locks("innodb_table_locks",
                                               &SV::innodb_table_locks);
#endif 					     
@@ -454,6 +456,7 @@ sys_var *sys_variables[]=
#ifdef HAVE_INNOBASE_DB
  &sys_innodb_max_dirty_pages_pct,
  &sys_innodb_max_purge_lag,
  &sys_innodb_autoextend_increment,
  &sys_innodb_table_locks,
#endif    
  &sys_unique_checks
@@ -508,6 +511,7 @@ struct show_var_st init_vars[]= {
  {"init_file",               (char*) &opt_init_file,               SHOW_CHAR_PTR},
#ifdef HAVE_INNOBASE_DB
  {"innodb_additional_mem_pool_size", (char*) &innobase_additional_mem_pool_size, SHOW_LONG },
  {sys_innodb_autoextend_increment.name, (char*) &sys_innodb_autoextend_increment, SHOW_SYS},
  {"innodb_buffer_pool_size", (char*) &innobase_buffer_pool_size, SHOW_LONG },
  {"innodb_data_file_path", (char*) &innobase_data_file_path,	    SHOW_CHAR_PTR},
  {"innodb_data_home_dir",  (char*) &innobase_data_home_dir,	    SHOW_CHAR_PTR},