maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #05184
Re: implementing index condition pushdown in MariaDB 5.5
Thanks a lot Sergei. This information is very helpful.
I think this will be my (initial) attempt at implementing ICP for
TokuDB. I will return the full pushed condition to MySQL, but I will
use the information passed down to filter all index_next,
index_next_same, and index_prev calls. This way, if we happen to
accidentally not filter a row, MySQL will still behave correctly.
On Fri, Feb 15, 2013 at 8:28 PM, Sergei Petrunia <psergey@xxxxxxxxxxxx> wrote:
> On Thu, Feb 14, 2013 at 02:24:57PM -0500, Zardosht Kasheff wrote:
>> Also, can somebody please explain how handler_index_cond_check checks
>> index conditions? The key function seems to be item->val_int. How does
>> this get each value and check check conditions?
>
> Function handler_index_cond_check() is invoked once for each index tuple.
>
> That is, the storage is expected to do something like:
>
> while()
> {
> read the next index tuple;
> unpack index columns into their places in table->record[0];
>
> if ((res= handler_index_cond_check()) != ICP_NO_MATCH)
> {
> // return either an error or record, depending on the value of res.
> }
> }
>
> BR
> Sergei
> --
> Sergei Petrunia, Software Developer
> Monty Program AB, http://askmonty.org
> Blog: http://s.petrunia.net/blog
References