~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin_qcache.h

Update from Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
 *  Definitions required for Query Cache plugin
6
6
 
7
 
 *  Copyright (C) 2008 Mark Atwood
 
7
 *  Copyright (C) 2008 Mark Atwood, Toru Maesaka
8
8
 *
9
9
 *  This program is free software; you can redistribute it and/or modify
10
10
 *  it under the terms of the GNU General Public License as published by
23
23
#ifndef DRIZZLED_PLUGIN_QCACHE_H
24
24
#define DRIZZLED_PLUGIN_QCACHE_H
25
25
 
 
26
/* 
 
27
  This is the API that a qcache plugin must implement.
 
28
  it should implement each of these function pointers.
 
29
  if a function pointer is NULL (not loaded), that's ok.
 
30
 
 
31
  Return:
 
32
    false = success
 
33
    true  = failure
 
34
*/
26
35
typedef struct qcache_st
27
36
{
28
 
  /* todo, define this api */
29
 
  /* this is the API that a qcache plugin must implement.
30
 
     it should implement each of these function pointers.
31
 
     if a function returns bool true, that means it failed.
32
 
     if a function pointer is NULL, that's ok.
33
 
  */
 
37
  /* Lookup the cache and transmit the data back to the client */
 
38
  bool (*qcache_try_fetch_and_send)(Session *session, bool transactional);
34
39
 
35
 
  bool (*qcache_func1)(Session *session, void *parm1, void *parm2);
36
 
  bool (*qcache_func2)(Session *session, void *parm3, void *parm4);
 
40
  bool (*qcache_set)(Session *session, bool transactional);
 
41
  bool (*qcache_invalidate_table)(Session *session, bool transactional);
 
42
  bool (*qcache_invalidate_db)(Session *session, const char *db_name,
 
43
                               bool transactional);
 
44
  bool (*qcache_flush)(Session *session);
37
45
} qcache_t;
38
46
 
39
47
#endif /* DRIZZLED_PLUGIN_QCACHE_H */