>>>>> "bruce" == bruce <bruce@stripped> writes:
>> Fix (for the MyISAM format):
>>
>> *** /my/monty/master/mysql-3.23.6-alpha/myisam/mi_search.c Mon Oct 18 01:53:12
> 1999
>> --- ./mi_search.c Sat Nov 20 17:16:22 1999
>> ***************
>> *** 865,871 ****
>> /* If the stored length has changed, we must move the key */
>> if (tot_length >= 255 && *start != 255)
>> {
>> ! bmove_upp((char*) key+length+2,(char*) key+length,length);
>> *key=255;
>> mi_int2store(key+1,tot_length);
>> key+=3+length;
>> --- 865,872 ----
>> /* If the stored length has changed, we must move the key */
>> if (tot_length >= 255 && *start != 255)
>> {
>> ! /* length prefix changed from a length of one to a length of 3 */
>> ! bmove_upp((char*) key+length+3,(char*) key+length+1,length);
>> *key=255;
>> mi_int2store(key+1,tot_length);
>> key+=3+length;
>>
>> Regards,
>> Monty
bruce> Hi,
bruce> Just wanted to let you know that this patch fixes the initial problem
bruce> with some insertion statements. However, there appear to still be
bruce> other, probably related bugs in the 3.23.5_alpha code.
Could you send me an example of this?
bruce> BTW, the original error I reported was also present in the ISAM format
bruce> as well.
I have already fixed this for the next MySQL version...
bruce> I haven't yet been able to identify a simple test case that triggers
bruce> this, but when I apply some update logs from another server to an
bruce> uncorrupted database, the database is getting corrupted again.
bruce> Here is the relevant portion of the myisamchk output after the updates
bruce> have been applied:
bruce> --
bruce> % myisamchk url
bruce> Checking MyISAM file: url
bruce> Data records: 1550858 Deleted blocks: 0
bruce> - check file-size
bruce> myisamchk: warning: Size of datafile is: 288607108 Should be: 288140880
bruce> ...
bruce> --
bruce> The warning is easily corrected by running 'myisamchk -r -q url' so its
bruce> not a show stopper for me, but I wanted to bring it to your attention.
bruce> When I have the time, I will try to identify a reproducible scenario and
bruce> perhaps even poke through the code to see if I can the source of the
bruce> errors.
Yes; An example would help me quickly find the problem!
bruce> Thanks,
bruce> Bruce
Regards,
Monty