~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/math/ln.h

* Completes the blueprint for splitting the XA Resource Manager
  API from the storage engine API:

We add a new plugin::XaResourceManager abstract interface class
which exposes the X/Open XA distributed transaction protocol for
resource managers.

We add a new plugin::MonitoredInTransaction base class from
which all plugins that need monitored by Drizzle's transaction
manager (drizzled::TransactionServices component) derive.

All plugin::StorageEngine's now derive from plugin::MonitoredInTransaction
since all storage engines a monitored by the transaction manager
and the Session keeps a "slot" available for keeping the engine's
per-session data state.  In a future patch, the transaction log's
XaApplier plugin will also derive from MonitoredInTransaction, as
the transaction log, in XA mode, is also monitored by Drizzle's
transaction manager and automatically enlisted in XA transactions.

* Updates all documentation in /drizzled/transaction_services.cc
  to accurately reflect Drizzle's new transaction management
  process and explicit transaction and statement boundaries.

* Kills off dead code:

  binlog_format_names
  ha_init()
  total_ha, total_ha_2pc (no longer necessary, as the above-mentioned
  abstract base classes provide all of this functionality)
  StorageEngine::slot (now plugin::MonitoredInTransaction::getId())
  TransactionalStorageEngine::two_phase_commit (same as above)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#ifndef PLUGIN_MATH_FUNCTIONS_LN_H
21
 
#define PLUGIN_MATH_FUNCTIONS_LN_H
 
20
#ifndef DRIZZLED_FUNCTION_MATH_LN_H
 
21
#define DRIZZLED_FUNCTION_MATH_LN_H
22
22
 
23
23
#include <drizzled/function/func.h>
24
24
#include <drizzled/function/math/dec.h>
29
29
class Item_func_ln :public Item_dec_func
30
30
{
31
31
public:
32
 
  Item_func_ln() :Item_dec_func() {}
 
32
  Item_func_ln(Item *a) :Item_dec_func(a) {}
33
33
  double val_real();
34
34
  const char *func_name() const { return "ln"; }
35
 
  bool check_argument_count(int n) { return n == 1; }
36
35
};
37
36
 
38
37
} /* namespace drizzled */
39
38
 
40
 
#endif /* PLUGIN_MATH_FUNCTIONS_LN_H */
 
39
#endif /* DRIZZLED_FUNCTION_MATH_LN_H */