• Jon Olav Hauglid's avatar
    Bug #37521 Row inserted through view not always visible in base · 7f0f32d6
    Jon Olav Hauglid authored
               table immediately after
    
    The problem was that rows inserted in a table by one connection was
    not immediately visible if another connection queried the table,
    even if the insert had committed.
    
    The reason for the problem was that the server sent a status reply
    to the client before it actually did the commit. Therefore it was
    possible to get an OK from the server before the changes were made
    permanent and visible to other connections.
    
    This patch fixes the problem by not sending status messages to the
    server until any changes made have been committed. No test case added
    as reproducing the error requires very specific timing betweeen the
    server and two or more clients.
    
    This patch also fixes the following (duplicate) bugs:
    Bug #29334 pseudo-finished SHOW GLOBAL STATUS
    Bug #36618 myisam insert not immediately visible to select from another client
    Bug #45864 insert on one connection, immediate query on another produces no result
    Bug #51329 Inserts from one connection not immediately visible in second
               connection
    Bug #41516 Assertion fails when error returned from
               handler::external_lock(thd, F_UNLCK)
    7f0f32d6
sql_parse.cc 243 KB