diff options
author | Ashish Agarwal <ashish.y.agarwal@oracle.com> | 2012-02-02 18:17:14 +0530 |
---|---|---|
committer | Ashish Agarwal <ashish.y.agarwal@oracle.com> | 2012-02-02 18:17:14 +0530 |
commit | f0955f9ec752d5631cb19b4cd5f045c7139fa68a (patch) | |
tree | a29c9283777c8468224c2b2421b36ca364c92f62 /storage/myisam/myisamdef.h | |
parent | e6ce99e692fa4b70b4b8ba164167d740bba5b4e1 (diff) | |
download | mariadb-git-f0955f9ec752d5631cb19b4cd5f045c7139fa68a.tar.gz |
BUG#11754145 - 45702: IMPOSSIBE TO SPECIFY MYISAM_SORT_BUFFER > 4GB
ON 64 BIT MACHINES
PROBLEM: When sorting index during repair of
myisam tables, due to improper casting
of buffer size variables value of myisam_
sort_buffer_size is not set greater than
4GB.
SOLUTION: Proper casting of buffer size variable.
myisam_buffer_size changed to unsigned
long long to handle size > 4GB on
linux as well as windows.
Diffstat (limited to 'storage/myisam/myisamdef.h')
-rw-r--r-- | storage/myisam/myisamdef.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/storage/myisam/myisamdef.h b/storage/myisam/myisamdef.h index 6b4fc8ea59f..a2fd073f002 100644 --- a/storage/myisam/myisamdef.h +++ b/storage/myisam/myisamdef.h @@ -320,9 +320,10 @@ typedef struct st_mi_sort_param */ ulonglong unique[MI_MAX_KEY_SEG+1]; ulonglong notnull[MI_MAX_KEY_SEG+1]; + ulonglong sortbuff_size; my_off_t pos,max_pos,filepos,start_recpos; - uint key, key_length,real_key_length,sortbuff_size; + uint key, key_length,real_key_length; uint maxbuffers, keys, find_length, sort_keys_length; my_bool fix_datafile, master; my_bool calc_checksum; /* calculate table checksum */ @@ -771,7 +772,7 @@ pthread_handler_t thr_find_all_keys(void *arg); int flush_blocks(MI_CHECK *param, KEY_CACHE *key_cache, File file); int sort_write_record(MI_SORT_PARAM *sort_param); -int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages, ulong); +int _create_index_by_sort(MI_SORT_PARAM *info, my_bool no_messages, ulonglong); #ifdef __cplusplus } |