On Sun, Feb 18, 2001 at 12:03:59PM +0200, Michael Widenius wrote:
>
> 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.
> >>
>
> 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.
>
I recompiled with >= and restarted mysqld with concurrent inserts.
My original problem hasn't happened since then after a bit of
testing.
It does seem that merge tables will not be the only tables affected.
Probably the following query would show similar symptoms:
select indexfield, tablefield from myisamtable
where indexfield >= 990 order by indexfield desc
That is, if I'm correct that it would use the index going backwards
and reading each record from the table as well.
> Ouch, you are right. Thanks for spotting this!
>
Glad I could help a bit. Will the fix be in 3.23.34 ?
Thanks for your fast support and a wonderful product.
Regards,
Fred.
--
Fred van Engen XO Communications B.V.
email: fred.van.engen@stripped Televisieweg 2
tel: +31 36 5462400 1322 AC Almere
fax: +31 36 5462424 The Netherlands