** Changed in: drizzle/7.0
       Status: Triaged => Won't Fix

-- 
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Drizzle.
https://bugs.launchpad.net/bugs/535528

Title:
  transaction started in ::store_lock() and not by
  startStatement/Transaction

Status in A Lightweight SQL Database for Cloud Infrastructure and Web 
Applications:
  Triaged
Status in Drizzle 7.0 series:
  Won't Fix
Status in Drizzle cherry series:
  Fix Released

Bug description:
  For the following sequence:

  create table t1 (a int, b int not null, c int null, d int not null);
  show create table t1;
  insert into t1 values (0,0, 0, 0);

  when HTON_SKIP_STORE_LOCK is set for the engine and with autocommit
  on, we get no call to startTransaction or startStatement.

  If HTON_SKIP_STORE_LOCK is *NOT* set, then (at least) innobase sets up
  the transaction (check_trx_exists()) in ::store_lock call in the
  mysql_lock_tables (for mysql_insert()).

  backtrace:
  #0  check_trx_exists (session=0xa21f00)
      at plugin/innobase/handler/ha_innodb.cc:1423
  #1  0x00007ffff496f8b9 in ha_innobase::store_lock (this=0x1230968, 
      session=0xa21f00, to=0x1231d98, 
      lock_type=drizzled::TL_WRITE_CONCURRENT_INSERT)
      at plugin/innobase/handler/ha_innodb.cc:7500
  #2  0x00000000004d3064 in get_lock_data (session=0xa21f00, 
      table_ptr=0x1224bc8, count=1, should_lock=true, 
      write_lock_used=0x7fffe4ddfab8) at drizzled/lock.cc:626
  #3  0x00000000004d20e7 in drizzled::mysql_lock_tables (session=0xa21f00, 
      tables=0x1224bc8, count=1, flags=4, need_reopen=0x7fffe4ddfb7f)
      at drizzled/lock.cc:189
  #4  0x0000000000551e98 in drizzled::Session::lock_tables (this=0xa21f00, 
      tables=0x1224818, count=1, need_reopen=0x7fffe4ddfb7f)
      at drizzled/sql_base.cc:2196
  #5  0x000000000053d9e8 in drizzled::Session::openTablesLock (this=0xa21f00, 
      tables=0x1224818) at drizzled/session.cc:2016
  #6  0x000000000055b77d in drizzled::mysql_insert (session=0xa21f00, 
      table_list=0x1224818, fields=..., values_list=..., update_fields=..., 
      update_values=..., duplic=drizzled::DUP_ERROR, ignore=false)
      at drizzled/sql_insert.cc:250


  interestingly enough though... we do seem to get a commit():

  #0  innobase_commit_low (trx=0x1230e00)
      at plugin/innobase/handler/ha_innodb.cc:2050
  #1  0x00007ffff4966e9e in InnobaseEngine::doCommit (this=0xa36010, 
      session=0xa21f00, all=false) at plugin/innobase/handler/ha_innodb.cc:2175
  #2  0x00000000005da7a4 in drizzled::plugin::TransactionalStorageEngine::commit
      (this=0xa36010, session=0xa21f00, normal_transaction=false)
      at ./drizzled/plugin/transactional_storage_engine.h:84
  #3  0x00000000005d9499 in drizzled::TransactionServices::ha_commit_one_phase (
      this=0x9de6d8, session=0xa21f00, normal_transaction=false)
      at drizzled/transaction_services.cc:594
  #4  0x00000000005d937d in drizzled::TransactionServices::ha_commit_trans (
      this=0x9de6d8, session=0xa21f00, normal_transaction=false)
      at drizzled/transaction_services.cc:564
  #5  0x00000000005d989a in 
drizzled::TransactionServices::ha_autocommit_or_rollback (this=0x9de6d8, 
session=0xa21f00, error=0)
      at drizzled/transaction_services.cc:715
  #6  0x000000000056b5c6 in drizzled::dispatch_command (
      command=drizzled::COM_QUERY, session=0xa21f00, 
      packet=0x1226841 "insert into t1 values (0,0, 0, 0)", packet_length=33)
      at drizzled/sql_parse.cc:246

To manage notifications about this bug go to:
https://bugs.launchpad.net/drizzle/+bug/535528/+subscriptions

-- 
Mailing list: https://launchpad.net/~linux-traipu
Post to     : linux-traipu@lists.launchpad.net
Unsubscribe : https://launchpad.net/~linux-traipu
More help   : https://help.launchpad.net/ListHelp

Reply via email to