1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; version 2 of the License.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLED_HANDLER_STRUCTS_H
21
#define DRIZZLED_HANDLER_STRUCTS_H
23
#if TIME_WITH_SYS_TIME
24
# include <sys/time.h>
28
# include <sys/time.h>
34
#include <drizzled/base.h>
35
#include <drizzled/structs.h>
36
#include <drizzled/definitions.h>
37
#include <drizzled/lex_string.h>
38
#include "drizzled/global_charset_info.h"
44
typedef struct st_key KEY;
45
typedef struct st_key_cache KEY_CACHE;
53
typedef struct st_ha_create_information
55
const CHARSET_INFO *table_charset, *default_table_charset;
57
uint64_t auto_increment_value;
58
uint32_t table_options;
60
enum row_type row_type;
61
plugin::StorageEngine *db_type;
62
bool table_existed; /* 1 in create if table existed */
65
typedef struct st_ha_alter_information
69
uint32_t index_drop_count;
70
uint32_t *index_drop_buffer;
71
uint32_t index_add_count;
72
uint32_t *index_add_buffer;
77
typedef struct st_key_create_information
79
enum ha_key_alg algorithm;
85
typedef struct st_ha_check_opt
87
st_ha_check_opt() {} /* Remove gcc warning */
91
typedef struct st_range_seq_if
94
Initialize the traversal of range sequence
98
init_params The seq_init_param parameter
99
n_ranges The number of ranges obtained
100
flags A combination of HA_MRR_SINGLE_POINT, HA_MRR_FIXED_KEY
103
An opaque value to be used as RANGE_SEQ_IF::next() parameter
105
range_seq_t (*init)(void *init_params, uint32_t n_ranges, uint32_t flags);
109
Get the next range in the range sequence
113
seq The value returned by RANGE_SEQ_IF::init()
114
range OUT Information about the next range
117
0 - Ok, the range structure filled with info about the next range
120
uint32_t (*next) (range_seq_t seq, KEY_MULTI_RANGE *range);
124
This is a buffer area that the handler can use to store rows.
125
'end_of_used_area' should be kept updated after calls to
126
read-functions so that other parts of the code can use the
127
remaining area (until next read calls is issued).
130
typedef struct st_handler_buffer
132
unsigned char *buffer; /* Buffer one can start using */
133
unsigned char *buffer_end; /* End of buffer */
134
unsigned char *end_of_used_area; /* End of area that was used by handler */
137
} /* namespace drizzled */
139
#endif /* DRIZZLED_HANDLER_STRUCTS_H */