summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-08-12 15:30:20 +0200
committerunknown <serg@serg.mylan>2003-08-12 15:30:20 +0200
commitf4e26a8bad225fd6a3262bfb600efc9db20484e6 (patch)
treef362999930c94d3d604e84ef5bbb9013c8b25d45 /myisam
parent8e6ff087df86b76a50cb35222c7a27871eb784f6 (diff)
downloadmariadb-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.c4
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)+