~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/message/transaction_manager.cc

  • Committer: Vijay Samuel
  • Date: 2010-09-10 21:03:37 UTC
  • mto: (1757.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 1758.
  • Revision ID: vijay@vijay-20100910210337-rf7c2ymawtqj6tkv
Merge added utf 8 tamil test case suite and test case for creating a database in tamil.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 
 *
4
 
 *  Copyright (C) 2010 David Shrewsbury <shrewsbury.dave@gmail.com>
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
 
/**
21
 
 * @file
22
 
 * Implementation of the TransactionManager class.
23
 
 */
24
 
 
25
 
#include "config.h"
26
 
#include "drizzled/message/transaction_manager.h"
27
 
 
28
 
using namespace std;
29
 
 
30
 
namespace drizzled
31
 
{
32
 
namespace message
33
 
{
34
 
 
35
 
bool TransactionManager::store(const message::Transaction &transaction)
36
 
{
37
 
  string msg;
38
 
  const message::TransactionContext trx_ctxt= transaction.transaction_context();
39
 
  uint64_t trx_id= trx_ctxt.transaction_id();
40
 
  transaction.SerializeToString(&msg);
41
 
 
42
 
  cache[trx_id].push_back(msg);
43
 
  return true;
44
 
}
45
 
 
46
 
bool TransactionManager::remove(uint64_t trx_id)
47
 
{
48
 
  cache.erase(trx_id);
49
 
  return true;
50
 
}
51
 
 
52
 
bool TransactionManager::contains(uint64_t trx_id)
53
 
{
54
 
  boost::unordered_map< uint64_t, vector<string> >::const_iterator it= cache.find(trx_id);
55
 
 
56
 
  if (it != cache.end())
57
 
    return true;
58
 
 
59
 
  return false;
60
 
}
61
 
 
62
 
uint32_t TransactionManager::getTransactionBufferSize(uint64_t trx_id)
63
 
{
64
 
  return static_cast<uint32_t>(cache[trx_id].size());
65
 
}
66
 
 
67
 
bool TransactionManager::getTransactionMessage(message::Transaction &trx,
68
 
                                               uint64_t trx_id,
69
 
                                               uint32_t position)
70
 
{
71
 
  trx.ParseFromString(cache[trx_id].at(position));
72
 
  return true;
73
 
}
74
 
 
75
 
} /* namespace message */
76
 
} /* namespace drizzled */