Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
transaction_context.h
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
*
4
* Copyright (C) 2008 Sun Microsystems, Inc.
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; version 2 of the License.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#pragma once
21
22
#include <vector>
23
#include <drizzled/common_fwd.h>
24
25
namespace
drizzled {
26
27
class
TransactionContext
28
{
29
public
:
30
TransactionContext
() :
31
no_2pc(
false
),
32
resource_contexts
(),
33
modified_non_trans_data
(
false
)
34
{}
35
36
void
reset() { no_2pc=
false
;
modified_non_trans_data
=
false
;
resource_contexts
.clear();}
37
38
typedef
std::vector<ResourceContext *> ResourceContexts;
39
40
void
setResourceContexts(ResourceContexts &new_contexts)
41
{
42
resource_contexts
= new_contexts;
43
}
44
45
ResourceContexts &getResourceContexts()
46
{
47
return
resource_contexts
;
48
}
50
void
registerResource
(
ResourceContext
*resource)
51
{
52
resource_contexts
.push_back(resource);
53
}
54
59
void
markModifiedNonTransData
()
60
{
61
modified_non_trans_data
=
true
;
62
}
63
68
bool
hasModifiedNonTransData
()
const
69
{
70
return
modified_non_trans_data
;
71
}
72
73
/* true is not all entries in the resource contexts support 2pc */
74
bool
no_2pc;
75
private
:
77
ResourceContexts
resource_contexts
;
79
bool
modified_non_trans_data
;
80
};
81
82
}
/* namespace drizzled */
83
drizzled
transaction_context.h
Generated on Mon Jun 10 2013 09:48:14 for drizzle by
1.8.1.2