Hi Rich,
On 6/7/12 11:49 PM, Rich Prohaska wrote:
> Hello,
>
> Some of our tests assert when running on the MySQL 5.6.6 labs june
> release, The assert is at pfs.cc line 3701. In our case,
> state->m_index == 0 and table->m_share->m_key_count == 0, so the
> assert fires. Is this assert correct?
The assert is:
DBUG_ASSERT((state->m_index < table->m_share->m_key_count) ||
(state->m_index == MAX_INDEXES));
which looks correct.
What it means is:
- table io done using an index should use m_index in the [0,
m_key_count-1] range.
For example with 10 indexes, [0, 9]
- table io done using no index at all should be done using m_index =
MAX_INDEXES
In this case, m_index = 0 (using the first index) with a table that has
no index (m_key_count = 0) looks like a bug in the caller.
It would help to have more details about the call stack leading to this
point, to see where the index value passed comes from.
Regards,
-- Marc Alff, Oracle.