Hi Zardosht, On Thu, Feb 14, 2013 at 11:31:13AM -0500, Zardosht Kasheff wrote: > Thanks for the feedback. What makes this feature a little difficult > for me to grasp is the requirement that the engine is responsible for > doing some of the condition checking, and that MySQL is doing none of > the checking. > > Here are the handler cursor API functions: > > index_first > index_last > index_next > index_prev > index_next_same > index_read > > If we return NULL for idx_cond_push, meaning we will do all of the > condition checking, does that mean ALL of these functions need to > check the condition before returning something to MySQL? Or just a > subset? Actually, a subset. All of the functions that do forward scans must do the checking.
ICP will not be used with functions that do reverse scans: index_last, index_prev. > Also, suppose we always return the full condition to MySQL, meaning > the engine is responsible for none of the condition checking, but then > the engine does condition checking anyway. Is that ok? Here is an > example of what I mean. Suppose we have a key (a,b), and a query of > select * from table where a between 5 and 10 and b=5; Would it be ok > for our engine to return the full condition to MySQL, but then in > subsequent calls to index_next and index_prev, choose to not return > rows where b != 5? I think it should be ok. Nothing comes to mind which could make it a problem. BR Sergei -- Sergei Petrunia, Software Developer Monty Program AB, http://askmonty.org Blog: http://s.petrunia.net/blog _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp

