Commit 70799de4 authored by marko@hundin.mysql.fi's avatar marko@hundin.mysql.fi

Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.0

into hundin.mysql.fi:/home/marko/k/mysql-4.0
parents f003fb1f 4a2aef45
...@@ -1632,12 +1632,12 @@ if test "$with_debug" = "yes" ...@@ -1632,12 +1632,12 @@ if test "$with_debug" = "yes"
then then
# Medium debug. # Medium debug.
CFLAGS="$DEBUG_CFLAGS $DEBUG_OPTIMIZE_CC -DDBUG_ON -DSAFE_MUTEX $CFLAGS" CFLAGS="$DEBUG_CFLAGS $DEBUG_OPTIMIZE_CC -DDBUG_ON -DSAFE_MUTEX $CFLAGS"
CXXFLAGS="$DEBUG_CXXFLAGS $DEBUG_OPTIMIZE_CXX -DSAFE_MUTEX $CXXFLAGS" CXXFLAGS="$DEBUG_CXXFLAGS $DEBUG_OPTIMIZE_CXX -DDBUG_ON -DSAFE_MUTEX $CXXFLAGS"
elif test "$with_debug" = "full" elif test "$with_debug" = "full"
then then
# Full debug. Very slow in some cases # Full debug. Very slow in some cases
CFLAGS="$DEBUG_CFLAGS -DDBUG_ON -DSAFE_MUTEX -DSAFEMALLOC $CFLAGS" CFLAGS="$DEBUG_CFLAGS -DDBUG_ON -DSAFE_MUTEX -DSAFEMALLOC $CFLAGS"
CXXFLAGS="$DEBUG_CXXFLAGS -DSAFE_MUTEX -DSAFEMALLOC $CXXFLAGS" CXXFLAGS="$DEBUG_CXXFLAGS -DDBUG_ON -DSAFE_MUTEX -DSAFEMALLOC $CXXFLAGS"
else else
# Optimized version. No debug # Optimized version. No debug
CFLAGS="$OPTIMIZE_CFLAGS -DDBUG_OFF $CFLAGS" CFLAGS="$OPTIMIZE_CFLAGS -DDBUG_OFF $CFLAGS"
......
...@@ -27,7 +27,8 @@ extern os_event_t srv_lock_timeout_thread_event; ...@@ -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 /* If the last data file is auto-extended, we add this many pages to it
at a time */ 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 */ /* This is set to TRUE if the MySQL user has set it in MySQL */
extern ibool srv_lower_case_table_names; extern ibool srv_lower_case_table_names;
...@@ -49,6 +50,7 @@ extern ulint* srv_data_file_is_raw_partition; ...@@ -49,6 +50,7 @@ extern ulint* srv_data_file_is_raw_partition;
extern ibool srv_auto_extend_last_data_file; extern ibool srv_auto_extend_last_data_file;
extern ulint srv_last_file_size_max; extern ulint srv_last_file_size_max;
extern ulint srv_auto_extend_increment;
extern ibool srv_created_new_raw; extern ibool srv_created_new_raw;
......
...@@ -86,6 +86,9 @@ ulint srv_last_file_size_max = 0; /* if != 0, this tells ...@@ -86,6 +86,9 @@ ulint srv_last_file_size_max = 0; /* if != 0, this tells
the max size auto-extending the max size auto-extending
may increase the last data may increase the last data
file size */ 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; ulint* srv_data_file_is_raw_partition = NULL;
/* If the following is TRUE we do not allow inserts etc. This protects /* If the following is TRUE we do not allow inserts etc. This protects
......
...@@ -4346,12 +4346,12 @@ ha_innobase::update_table_comment( ...@@ -4346,12 +4346,12 @@ ha_innobase::update_table_comment(
(ulong) innobase_get_free_space()); (ulong) innobase_get_free_space());
dict_print_info_on_foreign_keys(FALSE, file, prebuilt->table); dict_print_info_on_foreign_keys(FALSE, file, prebuilt->table);
flen = ftell(file); flen = ftell(file);
if(length + flen + 3 > 64000) { if (flen < 0) {
flen = 0;
} else if (length + flen + 3 > 64000) {
flen = 64000 - 3 - length; flen = 64000 - 3 - length;
} }
ut_ad(flen > 0);
/* allocate buffer for the full string, and /* allocate buffer for the full string, and
read the contents of the temporary file */ read the contents of the temporary file */
...@@ -4414,12 +4414,12 @@ ha_innobase::get_foreign_key_create_info(void) ...@@ -4414,12 +4414,12 @@ ha_innobase::get_foreign_key_create_info(void)
prebuilt->trx->op_info = (char*)""; prebuilt->trx->op_info = (char*)"";
flen = ftell(file); flen = ftell(file);
if(flen > 64000 - 1) { if (flen < 0) {
flen = 0;
} else if(flen > 64000 - 1) {
flen = 64000 - 1; flen = 64000 - 1;
} }
ut_ad(flen >= 0);
/* allocate buffer for the string, and /* allocate buffer for the string, and
read the contents of the temporary file */ read the contents of the temporary file */
...@@ -4800,12 +4800,12 @@ innodb_show_status( ...@@ -4800,12 +4800,12 @@ innodb_show_status(
srv_printf_innodb_monitor(srv_monitor_file); srv_printf_innodb_monitor(srv_monitor_file);
flen = ftell(srv_monitor_file); flen = ftell(srv_monitor_file);
os_file_set_eof(srv_monitor_file); os_file_set_eof(srv_monitor_file);
if(flen > 64000 - 1) { if (flen < 0) {
flen = 0;
} else if (flen > 64000 - 1) {
flen = 64000 - 1; flen = 64000 - 1;
} }
ut_ad(flen > 0);
/* allocate buffer for the string, and /* allocate buffer for the string, and
read the contents of the temporary file */ read the contents of the temporary file */
......
...@@ -208,6 +208,7 @@ extern my_bool innobase_log_archive, ...@@ -208,6 +208,7 @@ extern my_bool innobase_log_archive,
extern "C" { extern "C" {
extern ulong srv_max_buf_pool_modified_pct; extern ulong srv_max_buf_pool_modified_pct;
extern ulong srv_max_purge_lag; extern ulong srv_max_purge_lag;
extern ulong srv_auto_extend_increment;
} }
extern TYPELIB innobase_lock_typelib; extern TYPELIB innobase_lock_typelib;
......
...@@ -3518,6 +3518,7 @@ enum options_mysqld { ...@@ -3518,6 +3518,7 @@ enum options_mysqld {
OPT_INNODB_FORCE_RECOVERY, OPT_INNODB_FORCE_RECOVERY,
OPT_INNODB_STATUS_FILE, OPT_INNODB_STATUS_FILE,
OPT_INNODB_MAX_DIRTY_PAGES_PCT, OPT_INNODB_MAX_DIRTY_PAGES_PCT,
OPT_INNODB_AUTOEXTEND_INCREMENT,
OPT_INNODB_TABLE_LOCKS, OPT_INNODB_TABLE_LOCKS,
OPT_BDB_CACHE_SIZE, OPT_BDB_CACHE_SIZE,
OPT_BDB_LOG_BUFFER_SIZE, OPT_BDB_LOG_BUFFER_SIZE,
...@@ -3659,6 +3660,11 @@ struct my_option my_long_options[] = ...@@ -3659,6 +3660,11 @@ struct my_option my_long_options[] =
"Path to individual files and their sizes", "Path to individual files and their sizes",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#ifdef HAVE_INNOBASE_DB #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, {"innodb_data_home_dir", OPT_INNODB_DATA_HOME_DIR,
"The common part for Innodb table spaces", (gptr*) &innobase_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, (gptr*) &innobase_data_home_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0,
......
...@@ -265,6 +265,8 @@ sys_var_long_ptr sys_innodb_max_dirty_pages_pct("innodb_max_dirty_pages_p ...@@ -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); &srv_max_buf_pool_modified_pct);
sys_var_long_ptr sys_innodb_max_purge_lag("innodb_max_purge_lag", sys_var_long_ptr sys_innodb_max_purge_lag("innodb_max_purge_lag",
&srv_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", sys_var_thd_bool sys_innodb_table_locks("innodb_table_locks",
&SV::innodb_table_locks); &SV::innodb_table_locks);
#endif #endif
...@@ -454,6 +456,7 @@ sys_var *sys_variables[]= ...@@ -454,6 +456,7 @@ sys_var *sys_variables[]=
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
&sys_innodb_max_dirty_pages_pct, &sys_innodb_max_dirty_pages_pct,
&sys_innodb_max_purge_lag, &sys_innodb_max_purge_lag,
&sys_innodb_autoextend_increment,
&sys_innodb_table_locks, &sys_innodb_table_locks,
#endif #endif
&sys_unique_checks &sys_unique_checks
...@@ -508,6 +511,7 @@ struct show_var_st init_vars[]= { ...@@ -508,6 +511,7 @@ struct show_var_st init_vars[]= {
{"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR}, {"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR},
#ifdef HAVE_INNOBASE_DB #ifdef HAVE_INNOBASE_DB
{"innodb_additional_mem_pool_size", (char*) &innobase_additional_mem_pool_size, SHOW_LONG }, {"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_buffer_pool_size", (char*) &innobase_buffer_pool_size, SHOW_LONG },
{"innodb_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR}, {"innodb_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR},
{"innodb_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR}, {"innodb_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment