diff options
author | sergefp@mysql.com <> | 2004-09-22 16:29:15 +0400 |
---|---|---|
committer | sergefp@mysql.com <> | 2004-09-22 16:29:15 +0400 |
commit | 6e0ba8e615a7d58277dd4b78def08c7af02c3a10 (patch) | |
tree | e64aeb7d8d84ed6afb7086e9cc18ee52ee1a75fe /myisam/myisampack.c | |
parent | 78fa3aeff4ee40212ccc28d87aa8031fb1773bdf (diff) | |
download | mariadb-git-6e0ba8e615a7d58277dd4b78def08c7af02c3a10.tar.gz |
Fix for BUG#4785:
* myisampack leaves key_file_length value from original table
* myisamchk uses this value when calculating key file pointer length
Diffstat (limited to 'myisam/myisampack.c')
-rw-r--r-- | myisam/myisampack.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/myisam/myisampack.c b/myisam/myisampack.c index 872fcb49faf..4b784641266 100644 --- a/myisam/myisampack.c +++ b/myisam/myisampack.c @@ -2041,7 +2041,11 @@ static int save_state(MI_INFO *isam_file,PACK_MRG_INFO *mrg,my_off_t new_length, share->state.split=(ha_rows) mrg->records; share->state.version=(ulong) time((time_t*) 0); share->state.key_map=0; - share->state.state.key_file_length=share->base.keystart; + /* + Don't save key_file_length here, keep key_file_length of original file + so "myisamchk -rq" can use this value (this is necessary because index + size cannot be easily calculated for fulltext keys) + */ for (key=0 ; key < share->base.keys ; key++) share->state.key_root[key]= HA_OFFSET_ERROR; for (key=0 ; key < share->state.header.max_block_size ; key++) |