~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/transaction_applier.cc

This patch adds the following functionality:

* Removes the need to manually enable replicators in order
  for an applier to work.
* Removes the enabled/disabled setting of both transaction
  applier plugins and transaction replicator plugins
* Pairs a replicator with an applier into a "ReplicationStream"
  and removes all checks for "enabled" replicators and appliers
* Allows modules that implement a TransactionApplier (such as
  the transaction_log module) to specify which replicator to
  use via a configuration variable.  For instance, the transaction
  log module now has --transaction-log-use-replicator=[default|filtered..]
  instead of the user having to do --default-replicator-enable and such
* Adds a new data dictionary table for REPLICATION_STREAMS, which
  allows querying of activated replication-to-applier streams
  managed by drizzled::ReplicationServices

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
namespace drizzled
28
28
{
29
29
 
30
 
bool plugin::TransactionApplier::addPlugin(plugin::TransactionApplier *applier)
 
30
bool plugin::TransactionApplier::addPlugin(plugin::TransactionApplier *)
31
31
{
32
 
  ReplicationServices &replication_services= ReplicationServices::singleton();
33
 
  /** @TODO ReplicationServices should indicate error in some way here */
34
 
  replication_services.attachApplier(applier);
35
32
  return false;
36
33
}
37
34
 
38
 
void plugin::TransactionApplier::removePlugin(plugin::TransactionApplier *applier)
 
35
void plugin::TransactionApplier::removePlugin(plugin::TransactionApplier *)
39
36
{
40
 
  ReplicationServices &replication_services= ReplicationServices::singleton();
41
 
  replication_services.detachApplier(applier);
42
37
}
43
38
 
44
39
} /* namespace drizzled */