From: Zardosht Kasheff Date: July 26 2011 1:42pm Subject: what can a sequence of handler::index_XXX be interrupted by? List-Archive: http://lists.mysql.com/internals/38364 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Hello all, As best as I understand, a handler mostly does reads by performing the following sequence of operations (not including rnd_XXX functions): - call handler::index_init - perform a bunch of handler::index_XXX calls - call handler::index_end I am wondering what other handler operations may occur in between index_init and index_end that may block a handler::index_XXX call. For instance, in the case of deletes and updates, I know that the handler that performs an index_XXX call may then perform handler::delete_row or handler::update_row. So, a subsequent call to handler::index_XXX may not occur until the delete_row or update_row is complete. Are there any other cases where the sequence of index_XXX calls may be blocked? For instance, is there a chance that some other handler's work may block execution of and index_XXX call? Can joins or index merges do such a thing? Thanks -Zardosht