1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems, Inc.
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.
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.
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
21
* @file Simple named savepoint class.
24
#ifndef DRIZZLED_NAMED_SAVEPOINT_H
25
#define DRIZZLED_NAMED_SAVEPOINT_H
27
#include "drizzled/transaction_context.h" /* for TransactionContext::ResourceContexts */
38
* This is a class which stores information about
39
* a named savepoint in a transaction
47
NamedSavepoint(const char *in_name, size_t in_name_length) :
48
name(in_name, in_name_length),
50
transaction_message(NULL)
55
NamedSavepoint(const NamedSavepoint &other);
57
void setResourceContexts(TransactionContext::ResourceContexts &new_contexts)
59
resource_contexts.assign(new_contexts.begin(), new_contexts.end());
61
const TransactionContext::ResourceContexts &getResourceContexts() const
63
return resource_contexts;
65
TransactionContext::ResourceContexts &getResourceContexts()
67
return resource_contexts;
69
const std::string &getName() const
73
const std::string &getName()
77
message::Transaction *getTransactionMessage() const
79
return transaction_message;
81
void setTransactionMessage(message::Transaction *in_transaction_message)
83
transaction_message= in_transaction_message;
85
NamedSavepoint &operator=(const NamedSavepoint &other)
90
name.assign(other.getName());
91
const TransactionContext::ResourceContexts &other_resource_contexts= other.getResourceContexts();
92
resource_contexts.assign(other_resource_contexts.begin(),
93
other_resource_contexts.end());
98
TransactionContext::ResourceContexts resource_contexts;
99
message::Transaction *transaction_message;
103
} /* namespace drizzled */
105
#endif /* DRIZZLED_NAMED_SAVEPOINT_H */