~drizzle-trunk/drizzle/development

2148.7.7 by Brian Aker
Move ha_data out.
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
4
 *  Copyright (C) 2011 Brian Aker
5
 *  Copyright (C) 2008 Sun Microsystems, Inc.
6
 *
7
 *  This program is free software; you can redistribute it and/or modify
8
 *  it under the terms of the GNU General Public License as published by
9
 *  the Free Software Foundation; version 2 of the License.
10
 *
11
 *  This program is distributed in the hope that it will be useful,
12
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *  GNU General Public License for more details.
15
 *
16
 *  You should have received a copy of the GNU General Public License
17
 *  along with this program; if not, write to the Free Software
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
 */
20
21
#ifndef DRIZZLED_HA_DATA_H
22
#define DRIZZLED_HA_DATA_H
23
2187.2.1 by Brian Aker
Additional fixes in headers.
24
#include <drizzled/resource_context.h>
25
2148.7.7 by Brian Aker
Move ha_data out.
26
namespace drizzled
27
{
28
29
/**
30
  Storage engine specific thread local data.
31
*/
32
struct Ha_data
33
{
34
  /**
35
    Storage engine specific thread local data.
36
    Lifetime: one user connection.
37
  */
38
  void *ha_ptr;
39
  /**
40
   * Resource contexts for both the "statement" and "normal"
41
   * transactions.
42
   *
43
   * Resource context at index 0:
44
   *
45
   * Life time: one statement within a transaction. If @@autocommit is
46
   * on, also represents the entire transaction.
47
   *
48
   * Resource context at index 1:
49
   *
50
   * Life time: one transaction within a connection. 
51
   *
52
   * @note
53
   *
54
   * If the storage engine does not participate in a transaction, 
55
   * there will not be a resource context.
56
   */
57
  drizzled::ResourceContext resource_context[2];
58
59
  Ha_data() :
60
    ha_ptr(NULL)
61
  {}
62
};
63
64
65
} /* namespace drizzled */
66
67
#endif /* DRIZZLED_HA_DATA_H */