• unknown's avatar
    BUG#30996: Committed too early when autocommit and lock table · 0e4dfea6
    unknown authored
    Moved out a lot of code into functions from external_lock and
    start_stmt
    Fixed a crashing bug at memory alloc failure
    Merged the stmt and all variables into one trans variable
    Always register start of statement as according to the
    interface of the handlers.
    Also register for start of transaction when not statement commit
    == not autocommit AND no begin - commit ongoing
    Now that we registered in a proper manner we also needed to handle
    the commit call when end of statement and transaction is ongoing
    Added start_stmt_count to know when we have start of statement
    for first table
    
    
    mysql-test/suite/ndb/r/ndb_lock_table.result:
      Added a new test case for bug30996
    mysql-test/suite/ndb/t/ndb_lock_table.test:
      Added a new test case for bug30996
    sql/ha_ndbcluster.cc:
      Moved out a lot of code into functions from external_lock and
      start_stmt
      Fixed a crashing bug at memory alloc failure
      Merged the stmt and all variables into one trans variable
      Always register start of statement as according to the
      interface of the handlers.
      Also register for start of transaction when not statement commit
      == not autocommit AND no begin - commit ongoing
      Now that we registered in a proper manner we also needed to handle
      the commit call when end of statement and transaction is ongoing
      Added start_stmt_count to know when we have start of statement
      for first table
    sql/ha_ndbcluster.h:
      New functions and merged variables
    0e4dfea6
ndb_lock_table.test 284 Bytes