~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/drizzled.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:
49
49
#include "drizzled/plugin/scheduler.h"
50
50
#include "drizzled/plugin/xa_resource_manager.h"
51
51
#include "drizzled/plugin/monitored_in_transaction.h"
 
52
#include "drizzled/replication_services.h" /* For ReplicationServices::evaluateRegisteredPlugins() */
52
53
#include "drizzled/probes.h"
53
54
#include "drizzled/session_list.h"
54
55
#include "drizzled/charset.h"
2299
2300
  if (init_server_components(plugins))
2300
2301
    unireg_abort(1);
2301
2302
 
 
2303
  /**
 
2304
   * This check must be done after init_server_components for now
 
2305
   * because we don't yet have plugin dependency tracking...
 
2306
   *
 
2307
   * ReplicationServices::evaluateRegisteredPlugins() will print error messages to stderr
 
2308
   * via errmsg_printf().
 
2309
   *
 
2310
   * @todo
 
2311
   *
 
2312
   * not checking return since unireg_abort() hangs
 
2313
   */
 
2314
  ReplicationServices &replication_services= ReplicationServices::singleton();
 
2315
  (void) replication_services.evaluateRegisteredPlugins();
 
2316
 
2302
2317
  if (plugin::Listen::setup())
2303
2318
    unireg_abort(1);
2304
2319