~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin.h

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:
43
43
 
44
44
class sys_var;
45
45
typedef drizzle_lex_string LEX_STRING;
46
 
struct option;
 
46
struct my_option;
47
47
 
48
48
extern char *opt_plugin_add;
49
49
extern char *opt_plugin_remove;
356
356
  DRIZZLE_PLUGIN_VAR_HEADER;
357
357
};
358
358
 
359
 
void plugin_opt_set_limits(option *options, const drizzle_sys_var *opt);
 
359
void plugin_opt_set_limits(my_option *options, const drizzle_sys_var *opt);
360
360
 
361
361
struct drizzle_value
362
362
{
379
379
                        int *argc, char **argv,
380
380
                        bool skip_init);
381
381
extern void plugin_shutdown(plugin::Registry &plugins);
382
 
extern void my_print_help_inc_plugins(option *options);
 
382
extern void my_print_help_inc_plugins(my_option *options);
383
383
extern bool plugin_is_ready(const LEX_STRING *name, int type);
384
384
extern void plugin_sessionvar_init(Session *session);
385
385
extern void plugin_sessionvar_cleanup(Session *session);