summaryrefslogtreecommitdiff
path: root/storage/myisam/myisamdef.h
diff options
context:
space:
mode:
authorAshish Agarwal <ashish.y.agarwal@oracle.com>2012-02-02 18:17:14 +0530
committerAshish Agarwal <ashish.y.agarwal@oracle.com>2012-02-02 18:17:14 +0530
commitf0955f9ec752d5631cb19b4cd5f045c7139fa68a (patch)
treea29c9283777c8468224c2b2421b36ca364c92f62 /storage/myisam/myisamdef.h
parente6ce99e692fa4b70b4b8ba164167d740bba5b4e1 (diff)
downloadmariadb-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.h5
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
}