Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
resource_context.cc
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
#include <config.h>
21
#include <drizzled/resource_context.h>
22
23
#include <cassert>
24
25
using namespace
std
;
26
27
namespace
drizzled
28
{
29
31
void
ResourceContext::reset()
32
{
33
monitored= NULL;
34
xa_resource_manager= NULL;
35
trx_storage_engine= NULL;
36
modified_data=
false
;
37
}
38
39
void
ResourceContext::markModifiedData()
40
{
41
assert(isStarted());
42
modified_data=
true
;
43
}
44
45
bool
ResourceContext::hasModifiedData()
const
46
{
47
assert(isStarted());
48
return
modified_data;
49
}
50
51
bool
ResourceContext::isStarted()
const
52
{
53
return
monitored != NULL;
54
}
55
56
void
ResourceContext::coalesceWith(
const
ResourceContext
*stmt_ctx)
57
{
58
/*
59
Must be called only after the transaction has been started.
60
Can be called many times, e.g. when we have many
61
read-write statements in a transaction.
62
*/
63
assert(isStarted());
64
if
(stmt_ctx->
hasModifiedData
())
65
markModifiedData();
66
}
67
68
}
/* namespace drizzled */
drizzled
TODO: Rename this file - func.h is stupid.
Definition:
abort_exception.h:27
std
drizzled::ResourceContext
Definition:
resource_context.h:42
drizzled::ResourceContext::hasModifiedData
bool hasModifiedData() const
Definition:
resource_context.cc:45
drizzled
resource_context.cc
Generated by
1.8.9.1