18
18
#include <drizzled/session.h>
19
19
#include <drizzled/error.h>
20
20
#include <drizzled/item/strfunc.h>
21
#include <drizzled/plugin_replicator.h>
23
static char anchor[100];
25
static bool statement(Session *, const char *query, size_t query_length)
27
fprintf(stderr, "STATEMENT: %.*s\n", (uint32_t)query_length, query);
32
static bool session_init(Session *session)
34
fprintf(stderr, "Starting Session\n");
35
session->setReplicationData(anchor);
40
static bool row_insert(Session *session, Table *)
42
fprintf(stderr, "INSERT: %.*s\n", (uint32_t)session->query_length, session->query);
47
static bool row_update(Session *session, Table *,
48
const unsigned char *,
49
const unsigned char *)
51
fprintf(stderr, "UPDATE: %.*s\n", (uint32_t)session->query_length, session->query);
56
static bool row_delete(Session *session, Table *)
58
fprintf(stderr, "DELETE: %.*s\n", (uint32_t)session->query_length, session->query);
63
static bool end_transaction(Session *session, bool autocommit, bool commit)
68
fprintf(stderr, "COMMIT\n");
70
fprintf(stderr, "AUTOCOMMIT\n");
73
fprintf(stderr, "ROLLBACK\n");
75
session->setReplicationData(NULL);
80
static int init(void *p)
82
replicator_t *repl = (replicator_t *)p;
84
repl->statement= statement;
85
repl->session_init= session_init;
86
repl->row_insert= row_insert;
87
repl->row_delete= row_delete;
88
repl->row_update= row_update;
89
repl->end_transaction= end_transaction;
22
94
mysql_declare_plugin(replicator)
28
100
"Basic replication module",
29
101
PLUGIN_LICENSE_GPL,
30
NULL, /* Plugin Init */
102
init, /* Plugin Init */
31
103
NULL, /* Plugin Deinit */
32
104
NULL, /* status variables */
33
105
NULL, /* system variables */