diff options
author | unknown <serg@serg.mylan> | 2004-05-01 15:41:59 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2004-05-01 15:41:59 +0200 |
commit | 66f2d8bffa093629d90244e4c9aca7a5d1542ded (patch) | |
tree | 2102c0bebbd328026c172370dd5c0a06449b4b9e | |
parent | 4173696d65b6688c6864cfb6265880237f57d271 (diff) | |
download | mariadb-git-66f2d8bffa093629d90244e4c9aca7a5d1542ded.tar.gz |
myisam_data_pointer_size
include/mysql.h:
compatibility fix
-rw-r--r-- | include/myisam.h | 2 | ||||
-rw-r--r-- | include/mysql.h | 2 | ||||
-rw-r--r-- | myisam/mi_create.c | 4 | ||||
-rw-r--r-- | myisam/mi_info.c | 3 | ||||
-rw-r--r-- | myisam/mi_static.c | 1 | ||||
-rw-r--r-- | sql/mysqld.cc | 7 | ||||
-rw-r--r-- | sql/set_var.cc | 4 |
7 files changed, 17 insertions, 6 deletions
diff --git a/include/myisam.h b/include/myisam.h index 452b32dbefd..93e2dc15574 100644 --- a/include/myisam.h +++ b/include/myisam.h @@ -192,7 +192,7 @@ extern uint myisam_block_size; extern my_bool myisam_flush,myisam_delay_key_write,myisam_single_user; extern my_bool myisam_concurrent_insert; extern my_off_t myisam_max_temp_length,myisam_max_extra_temp_length; -extern ulong myisam_bulk_insert_tree_size; +extern ulong myisam_bulk_insert_tree_size, myisam_data_pointer_size; /* Prototypes for myisam-functions */ diff --git a/include/mysql.h b/include/mysql.h index 41302191066..537467336f8 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -120,7 +120,7 @@ typedef unsigned long long my_ulonglong; typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ MYSQL_ROW data; - ulong length; + unsigned long length; } MYSQL_ROWS; typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */ diff --git a/myisam/mi_create.c b/myisam/mi_create.c index 5682862c39a..838d647ea56 100644 --- a/myisam/mi_create.c +++ b/myisam/mi_create.c @@ -206,9 +206,9 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, 3 : 0))); if (options & (HA_OPTION_COMPRESS_RECORD | HA_OPTION_PACK_RECORD)) - pointer=mi_get_pointer_length(ci->data_file_length,4); + pointer=mi_get_pointer_length(ci->data_file_length,myisam_data_pointer_size); else - pointer=mi_get_pointer_length(ci->max_rows,4); + pointer=mi_get_pointer_length(ci->max_rows,myisam_data_pointer_size); if (!(max_rows=(ulonglong) ci->max_rows)) max_rows= ((((ulonglong) 1 << (pointer*8)) -1) / min_pack_length); diff --git a/myisam/mi_info.c b/myisam/mi_info.c index f4eace198f9..cf63ef63618 100644 --- a/myisam/mi_info.c +++ b/myisam/mi_info.c @@ -75,7 +75,8 @@ int mi_status(MI_INFO *info, register MI_ISAMINFO *x, uint flag) x->filenr = info->dfile; x->options = share->options; x->create_time=share->state.create_time; - x->reflength= mi_get_pointer_length(share->base.max_data_file_length,4); + x->reflength= mi_get_pointer_length(share->base.max_data_file_length, + myisam_data_pointer_size); x->record_offset= ((share->options & (HA_OPTION_PACK_RECORD | HA_OPTION_COMPRESS_RECORD)) ? 0L : share->base.pack_reclength); diff --git a/myisam/mi_static.c b/myisam/mi_static.c index a36c38e3c01..f7d008ffbb7 100644 --- a/myisam/mi_static.c +++ b/myisam/mi_static.c @@ -41,6 +41,7 @@ my_bool myisam_concurrent_insert=0; my_off_t myisam_max_extra_temp_length= MI_MAX_TEMP_LENGTH; my_off_t myisam_max_temp_length= MAX_FILE_SIZE; ulong myisam_bulk_insert_tree_size=8192*1024; +ulong myisam_data_pointer_size=4; /* read_vec[] is used for converting between P_READ_KEY.. and SEARCH_ diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 3ae5914b439..80d96a62f1b 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3661,7 +3661,7 @@ enum options_mysqld OPT_MAX_SEEKS_FOR_KEY, OPT_MAX_TMP_TABLES, OPT_MAX_USER_CONNECTIONS, OPT_MAX_LENGTH_FOR_SORT_DATA, OPT_MAX_WRITE_LOCK_COUNT, OPT_BULK_INSERT_BUFFER_SIZE, - OPT_MAX_ERROR_COUNT, + OPT_MAX_ERROR_COUNT, OPT_MYISAM_DATA_POINTER_SIZE, OPT_MYISAM_BLOCK_SIZE, OPT_MYISAM_MAX_EXTRA_SORT_FILE_SIZE, OPT_MYISAM_MAX_SORT_FILE_SIZE, OPT_MYISAM_SORT_BUFFER_SIZE, OPT_NET_BUFFER_LENGTH, OPT_NET_RETRY_COUNT, @@ -4515,6 +4515,11 @@ The minimum value for this variable is 4096.", (gptr*) &opt_myisam_block_size, 0, GET_ULONG, REQUIRED_ARG, MI_KEY_BLOCK_LENGTH, MI_MIN_KEY_BLOCK_LENGTH, MI_MAX_KEY_BLOCK_LENGTH, 0, MI_MIN_KEY_BLOCK_LENGTH, 0}, + {"myisam_data_pointer_size", OPT_MYISAM_DATA_POINTER_SIZE, + "Default pointer size to be used for MyISAM tables.", + (gptr*) &myisam_data_pointer_size, + (gptr*) &myisam_data_pointer_size, 0, GET_ULONG, REQUIRED_ARG, + 4, 2, 7, 0, 1, 0}, {"myisam_max_extra_sort_file_size", OPT_MYISAM_MAX_EXTRA_SORT_FILE_SIZE, "Used to help MySQL to decide when to use the slow but safe key cache index create method.", (gptr*) &global_system_variables.myisam_max_extra_sort_file_size, diff --git a/sql/set_var.cc b/sql/set_var.cc index 1339bdc887f..1233d860885 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -242,6 +242,8 @@ sys_var_thd_ulong sys_max_tmp_tables("max_tmp_tables", &SV::max_tmp_tables); sys_var_long_ptr sys_max_write_lock_count("max_write_lock_count", &max_write_lock_count); +sys_var_long_ptr sys_myisam_data_pointer_size("myisam_data_pointer_size", + &myisam_data_pointer_size); sys_var_thd_ulonglong sys_myisam_max_extra_sort_file_size("myisam_max_extra_sort_file_size", &SV::myisam_max_extra_sort_file_size, fix_myisam_max_extra_sort_file_size, 1); sys_var_thd_ulonglong sys_myisam_max_sort_file_size("myisam_max_sort_file_size", &SV::myisam_max_sort_file_size, fix_myisam_max_sort_file_size, 1); sys_var_thd_ulong sys_myisam_repair_threads("myisam_repair_threads", &SV::myisam_repair_threads); @@ -521,6 +523,7 @@ sys_var *sys_variables[]= &sys_max_tmp_tables, &sys_max_user_connections, &sys_max_write_lock_count, + &sys_myisam_data_pointer_size, &sys_myisam_max_extra_sort_file_size, &sys_myisam_max_sort_file_size, &sys_myisam_repair_threads, @@ -721,6 +724,7 @@ struct show_var_st init_vars[]= { {sys_max_tmp_tables.name, (char*) &sys_max_tmp_tables, SHOW_SYS}, {sys_max_user_connections.name,(char*) &sys_max_user_connections, SHOW_SYS}, {sys_max_write_lock_count.name, (char*) &sys_max_write_lock_count,SHOW_SYS}, + {sys_myisam_data_pointer_size.name, (char*) &sys_myisam_data_pointer_size, SHOW_SYS}, {sys_myisam_max_extra_sort_file_size.name, (char*) &sys_myisam_max_extra_sort_file_size, SHOW_SYS}, |