~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/statement/start_transaction.h

Merge Revision revid:marko.makela@oracle.com-20100601140355-u3kxl0yl0ljl5tx9 from MySQL InnoDB

Original revid:marko.makela@oracle.com-20100601140355-u3kxl0yl0ljl5tx9

Original Authors: Marko Mäkelä <marko.makela@oracle.com>
Original commit message:
Merge a change from mysql-5.1-innodb:

  ------------------------------------------------------------
  revno: 3491
  revision-id: marko.makela@oracle.com-20100601134335-ccthwwru23kn09qw
  parent: marko.makela@oracle.com-20100601120751-1uq7bbta5n7ts0qr
  committer: Marko Mäkelä <marko.makela@oracle.com>
  branch nick: 5.1-innodb
  timestamp: Tue 2010-06-01 16:43:35 +0300
  message:
    Bug#48197: Concurrent rw_lock_free may cause assertion failure

    rw_lock_t: Remove magic_n unless UNIV_DEBUG is defined.
    rw_lock_free(): Invalidate magic_n only after removing from rw_lock_list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2009 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2009 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
36
36
  start_transaction_option_t start_transaction_opt;
37
37
 
38
38
public:
39
 
  StartTransaction(Session *in_session, start_transaction_option_t opt= START_TRANS_NO_OPTIONS) :
40
 
    Statement(in_session),
41
 
    start_transaction_opt(opt)
42
 
  {
43
 
    getSession()->getLex()->sql_command= SQLCOM_BEGIN;
44
 
  }
 
39
  StartTransaction(Session *in_session, start_transaction_option_t opt= START_TRANS_NO_OPTIONS)
 
40
    :
 
41
      Statement(in_session),
 
42
      start_transaction_opt(opt)
 
43
  {}
45
44
 
46
45
  bool execute();
47
 
 
48
 
  /* we kinda cheat here as START TRANSACTION will start a transaction,
49
 
     so having an autocommit=off implicit start txn doesn't make sense. */
50
 
  bool isTransactional()
51
 
  {
52
 
    return false;
53
 
  }
54
46
};
55
47
 
56
48
} /* namespace statement */