~drizzle-trunk/drizzle/development

1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
1
/*
2
  Copyright (C) 2010 Stewart Smith
3
4
  This program is free software; you can redistribute it and/or
5
  modify it under the terms of the GNU General Public License
6
  as published by the Free Software Foundation; either version 2
7
  of the License, or (at your option) any later version.
8
9
  This program is distributed in the hope that it will be useful,
10
  but WITHOUT ANY WARRANTY; without even the implied warranty of
11
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
  GNU General Public License for more details.
13
14
  You should have received a copy of the GNU General Public License
15
  along with this program; if not, write to the Free Software
16
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17
*/
18
2234 by Brian Aker
Mass removal of ifdef/endif in favor of pragma once.
19
#pragma once
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
20
21
#include <drizzled/cursor.h>
22
1273.2.41 by Stewart Smith
fix TableProtoTester Engine up for drizzled namespace changes.
23
class TableProtoTesterCursor: public drizzled::Cursor
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
24
{
25
public:
1869.1.4 by Brian Aker
TableShare is no longer in the house (i.e. we no longer directly have a copy
26
  TableProtoTesterCursor(drizzled::plugin::StorageEngine &engine, drizzled::Table &table_arg);
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
27
  ~TableProtoTesterCursor()
28
  {}
29
30
  /*
31
    The name of the index type that will be used for display
32
    don't implement this method unless you really have indexes
33
  */
34
  const char *index_type(uint32_t key_number);
35
  uint32_t index_flags(uint32_t inx) const;
36
  int open(const char *name, int mode, uint32_t test_if_locked);
37
  int close(void);
1491.1.10 by Jay Pipes
ha_rnd_init -> startTableScan, rnd_init -> doStartTableScan, ha_rnd_end -> endTableScan, rnd_end -> doEndTableScan
38
  int doInsertRecord(unsigned char * buf);
39
  int doStartTableScan(bool scan);
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
40
  int rnd_next(unsigned char *buf);
41
  int rnd_pos(unsigned char * buf, unsigned char *pos);
42
1273.2.41 by Stewart Smith
fix TableProtoTester Engine up for drizzled namespace changes.
43
  int index_read_map(unsigned char * buf, const unsigned char * key, drizzled::key_part_map keypart_map,
44
                     drizzled::ha_rkey_function find_flag);
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
45
  int index_read_idx_map(unsigned char * buf, uint32_t idx, const unsigned char * key,
1273.2.41 by Stewart Smith
fix TableProtoTester Engine up for drizzled namespace changes.
46
                         drizzled::key_part_map keypart_map,
47
                         drizzled::ha_rkey_function find_flag);
48
  int index_read_last_map(unsigned char * buf, const unsigned char * key, drizzled::key_part_map keypart_map);
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
49
  int index_next(unsigned char * buf);
50
  int index_prev(unsigned char * buf);
51
  int index_first(unsigned char * buf);
52
  int index_last(unsigned char * buf);
53
  void position(const unsigned char *record);
54
  int info(uint32_t flag);
1377.7.2 by Stewart Smith
make get_auto_increment pure virtual and force engines not supporting auto_increment to be explicit about it
55
56
  void get_auto_increment(uint64_t, uint64_t,
57
                          uint64_t,
58
                          uint64_t *,
59
                          uint64_t *)
60
  {}
1273.2.34 by Stewart Smith
initial TableProtoTester engine. We can't just use table_write as some protobuf library versions don't let us write invalid protobuf messages :(
61
};
62