~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin_replicator.h

  • Committer: Monty Taylor
  • Date: 2008-08-02 01:03:15 UTC
  • mto: (236.1.42 codestyle)
  • mto: This revision was merged to the branch mainline in revision 261.
  • Revision ID: monty@inaugust.com-20080802010315-65h5938pymg9d99z
Moved m4 macros to top-level m4 dir, per GNU standards (and where gettext wanted it :)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
  -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
3
 
  *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
 
 
5
 
  *  Definitions required for Configuration Variables plugin
6
 
 
7
 
  *  Copyright (C) 2008 Mark Atwood
8
 
  *
9
 
  *  This program is free software; you can redistribute it and/or modify
10
 
  *  it under the terms of the GNU General Public License as published by
11
 
  *  the Free Software Foundation; version 2 of the License.
12
 
  *
13
 
  *  This program is distributed in the hope that it will be useful,
14
 
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 
  *  GNU General Public License for more details.
17
 
  *
18
 
  *  You should have received a copy of the GNU General Public License
19
 
  *  along with this program; if not, write to the Free Software
20
 
  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21
 
  */
22
 
 
23
 
#ifndef DRIZZLED_PLUGIN_REPLICATOR_H
24
 
#define DRIZZLED_PLUGIN_REPLICATOR_H
25
 
 
26
 
typedef struct replicator_st
27
 
{
28
 
  bool enabled;
29
 
  /* todo, define this api */
30
 
  /* this is the API that a replicator plugin must implement.
31
 
     it should implement each of these function pointers.
32
 
     if a function returns bool true, that means it failed.
33
 
     if a function pointer is NULL, that's ok.
34
 
  */
35
 
 
36
 
  bool (*session_init)(Session *session);
37
 
  bool (*row_insert)(Session *session, Table *table);
38
 
  bool (*row_update)(Session *session, Table *table,
39
 
                     const unsigned char *before,
40
 
                     const unsigned char *after);
41
 
  bool (*row_delete)(Session *session, Table *table);
42
 
  bool (*end_transaction)(Session *session, bool autocommit, bool commit);
43
 
  bool (*statement)(Session *session, const char *query, size_t query_length);
44
 
} replicator_t;
45
 
 
46
 
#endif /* DRIZZLED_PLUGIN_REPLICATOR_H */