Hi, Zardosht!
On Jul 14, Zardosht Kasheff wrote:
> Hello,
>
> Some time back, I filed MySQL bug #44373, because comments in the
> Handler API led me to believe it is a bug. However, I was never really
> sure. I may be misunderstanding the intended API contracts. What I am
> wondering is this. Is my understanding correct, and this is a bug, or
> is my understanding of the behavior of column_bitmaps_signal with
> respect to the handler::position API not correct?
From what you've written in the bug report it looks like it's a genuine
bug.
But - admittedly - I didn't try to extract a small test case out of
test-ATIS and run it in a debugger.
Is the new bitmap a strict subset of the old one ? I remember
discussions that NDB needs to know the bitmap before the scan starts
(e.g. before index_init) because it sends it (bitmap) to other nodes,
and we were talking about an optimization where MySQL could remove
columns from a bitmap after the scan started - but the engine was not
required to obey it, indeed, it's always ok to return more columns than
what was requested. But even in this case column_bitmaps_signal()
should've been called. Still a bug.
If a new bitmap is not a strict subset of the old one then it's a much
worse bug, and it probably would deliver incorrect query results (or
worse) with ndb.
Regards / Mit vielen Grüßen,
Sergei
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg@stripped>
/ /|_/ / // /\ \/ /_/ / /__ Principal Software Engineer/Server Architect
/_/ /_/\_, /___/\___\_\___/ Sun Microsystems GmbH, HRB München 161028
<___/ Sonnenallee 1, 85551 Kirchheim-Heimstetten
Geschäftsführer: Thomas Schroeder, Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Häring