• Guilhem Bichot's avatar
    Fix for BUG#37873 "Client gets ok from INSERT VALUES before commit record is on disk": · dc0b5534
    Guilhem Bichot authored
    this was true also for INSERT SELECT, UPDATE, DELETE. This fix will be removed when Maria supports COMMIT/ROLLBACK
    ("Maria 2.0"), because then Maria will trans_register_ha() and so participate in ha_commit_trans().
    Without the fix, the assertion added to ha_maria::external_lock() fires many times in *maria*.test.
    
    sql/sql_parse.cc:
      Before sending OK to client, commit transaction in Maria.
    storage/maria/ha_maria.cc:
      Assertion added to external_lock() when committing: OK should not have been sent yet (ACI*D*).
      In ha_maria::implicit_commit(), possibility to not create a new transaction, this is used
      before net_end_statement(), when the next step is close_thread_tables();
      in this use case, ha_maria::implicit_commit() should not commit if under LOCK TABLES.
    storage/maria/ha_maria.h:
      new prototype
    dc0b5534
sql_parse.cc 220 KB