Fixed problem in myisampack with blobs

myisam/myisamchk.c:
  Fixes bug when not using --set-character-set
myisam/myisampack.c:
  Fixed problem with blobs
This commit is contained in:
unknown 2001-08-30 14:24:15 +03:00
parent a054969476
commit 16a2502047
2 changed files with 5 additions and 4 deletions

View file

@ -200,7 +200,7 @@ static struct option long_options[] =
static void print_version(void)
{
printf("%s Ver 1.50 for %s at %s\n",my_progname,SYSTEM_TYPE,
printf("%s Ver 1.51 for %s at %s\n",my_progname,SYSTEM_TYPE,
MACHINE_TYPE);
}
@ -608,7 +608,8 @@ static int myisamchk(MI_CHECK *param, my_string filename)
info->s->state.header.file_version[3] != myisam_file_magic[3] ||
(set_charset && set_charset->number != share->state.header.language)))
{
check_param.language=set_charset->number;
if (set_charset)
check_param.language=set_charset->number;
if (recreate_table(&check_param, &info,filename))
{
VOID(fprintf(stderr,

View file

@ -251,7 +251,7 @@ static struct option long_options[] =
static void print_version(void)
{
printf("%s Ver 1.9 for %s on %s\n",my_progname,SYSTEM_TYPE,MACHINE_TYPE);
printf("%s Ver 1.10 for %s on %s\n",my_progname,SYSTEM_TYPE,MACHINE_TYPE);
}
static void usage(void)
@ -1670,7 +1670,7 @@ static int compress_isam_file(MRG_INFO *mrg, HUFF_COUNTS *huff_counts)
max_calc_length+=huff_counts[i].tree->height;
else if (huff_counts[i].field_type == FIELD_BLOB ||
huff_counts[i].field_type == FIELD_VARCHAR)
max_calc_length=huff_counts[i].tree->height*huff_counts[i].max_length + huff_counts[i].length_bits +1;
max_calc_length+=huff_counts[i].tree->height*huff_counts[i].max_length + huff_counts[i].length_bits +1;
else
max_calc_length+=
(huff_counts[i].field_length - huff_counts[i].max_zero_fill)*