diff options
author | unknown <serg@serg.mylan> | 2003-08-12 15:30:20 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2003-08-12 15:30:20 +0200 |
commit | f4e26a8bad225fd6a3262bfb600efc9db20484e6 (patch) | |
tree | f362999930c94d3d604e84ef5bbb9013c8b25d45 /myisam | |
parent | 8e6ff087df86b76a50cb35222c7a27871eb784f6 (diff) | |
download | mariadb-git-f4e26a8bad225fd6a3262bfb600efc9db20484e6.tar.gz |
MyISAM was erroneously using max_ref_length when estimating min_pack_length.
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/mi_packrec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/myisam/mi_packrec.c b/myisam/mi_packrec.c index 66cfd169026..7557bb8749f 100644 --- a/myisam/mi_packrec.c +++ b/myisam/mi_packrec.c @@ -165,7 +165,9 @@ my_bool _mi_read_pack_info(MI_INFO *info, pbool fix_keys) diff_length=(int) rec_reflength - (int) share->base.rec_reflength; if (fix_keys) share->rec_reflength=rec_reflength; - share->base.min_block_length=share->min_pack_length+share->pack.ref_length; + share->base.min_block_length=share->min_pack_length+1; + if (share->min_pack_length > 254) + share->base.min_block_length+=2; if (!(share->decode_trees=(MI_DECODE_TREE*) my_malloc((uint) (trees*sizeof(MI_DECODE_TREE)+ |