Hi!
>>>>> "Fred" == Fred van Engen <fred.van.engen@stripped> writes:
Fred> On Sun, Feb 18, 2001 at 02:07:51AM +0200, Michael Widenius wrote:
>>
>> This is basicly how concurrent_insert works and allows one thread to
>> do insert while many threads are doing selects; All the other threads
>> will just ignore all newly inserted rows.
>>
>> The code that does this is myisam/mi_rprev.c:
>>
>> while (info->lastpos > info->state->data_file_length)
>> {
>> /* Skip rows that are inserted by other threads since we got a lock */
>> if ((error=_mi_search_next(info,share->keyinfo+inx,info->lastkey,
info-> lastkey_length,
>> SEARCH_SMALLER,
share-> state.key_root[inx])))
>> break;
>> }
Fred> Okay, then the while loop should check for >= instead of > just
Fred> like in myisam/mi_rnext.c. Now it will skip all newly inserted
Fred> rows except the first newly inserted row.
Ouch, you are right. Thanks for spotting this!
Regards,
Monty