List:Internals« Previous MessageNext Message »
From:Vyacheslav Akhmechet Date:May 13 2009 11:14pm
Subject:Handling of keypart_map in custom storage engine
View as plain text  
Hi,

When the server calles index_read and related functions, it passes
keypart_map which indicates which parts of the key are present. I'm
not completely sure how to handle the implementation of this - if the
semantics of keypart_map are such that any of the bits may be set or
unset, I don't know how an efficient implementation can be possible.

Suppose a given key has two parts, A and B, and I build an index on
this key (by combining A and B in lexicographic order, or a similar
technique). Now, suppose index_read is called, and part A is missing
from the key. In this case the index is essentially useless - I need
to do a full table scan. I don't see how one could implement an index
to get around this.

Am I misunderstanding the purpose/semantics of keypart_map?

Regards,
- Slava
Thread
Handling of keypart_map in custom storage engineVyacheslav Akhmechet14 May
  • Re: Handling of keypart_map in custom storage engineSergei Golubchik14 May
    • Re: Handling of keypart_map in custom storage engineMARK CALLAGHAN14 May
      • Re: Handling of keypart_map in custom storage engineSergei Golubchik14 May
        • Re: Handling of keypart_map in custom storage engineMARK CALLAGHAN14 May
          • Re: Handling of keypart_map in custom storage engineVyacheslav Akhmechet15 May
          • Re: Handling of keypart_map in custom storage engineSergei Golubchik15 May
          • Re: Handling of keypart_map in custom storage engineMichael Widenius5 Jun