~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/handler/ha_innodb.h

  • Committer: Brian Aker
  • Date: 2011-02-22 06:12:02 UTC
  • mfrom: (2190.1.6 drizzle-build)
  • Revision ID: brian@tangent.org-20110222061202-k03czxykqy4x9hjs
List update, header fixes, multiple symbols, and David deletes some code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*****************************************************************************
2
2
 
3
 
Copyright (c) 2000, 2009, MySQL AB & Innobase Oy. All Rights Reserved.
 
3
Copyright (C) 2000, 2010, MySQL AB & Innobase Oy. All Rights Reserved.
4
4
 
5
5
This program is free software; you can redistribute it and/or modify it under
6
6
the terms of the GNU General Public License as published by the Free Software
31
31
#include <drizzled/plugin/transactional_storage_engine.h>
32
32
 
33
33
using namespace drizzled;
 
34
 
 
35
/* Structure defines translation table between mysql index and innodb
 
36
index structures */
 
37
typedef struct innodb_idx_translate_struct {
 
38
        ulint           index_count;    /*!< number of valid index entries
 
39
                                        in the index_mapping array */
 
40
        ulint           array_size;     /*!< array size of index_mapping */
 
41
        dict_index_t**  index_mapping;  /*!< index pointer array directly
 
42
                                        maps to index in Innodb from MySQL
 
43
                                        array index */
 
44
} innodb_idx_translate_t;
 
45
 
34
46
/** InnoDB table share */
35
47
typedef struct st_innobase_share {
36
48
        THR_LOCK        lock;           /*!< MySQL lock protecting
40
52
                                        incremented in get_share()
41
53
                                        and decremented in free_share() */
42
54
        void*           table_name_hash;/*!< hash table chain node */
 
55
        innodb_idx_translate_t  idx_trans_tbl;  /*!< index translation
 
56
                                                table between MySQL and
 
57
                                                Innodb */
43
58
 
44
59
        st_innobase_share(const char *arg) :
45
60
          use_count(0)
100
115
        UNIV_INTERN ulint innobase_reset_autoinc(uint64_t auto_inc);
101
116
        UNIV_INTERN ulint innobase_get_autoinc(uint64_t* value);
102
117
        ulint innobase_update_autoinc(uint64_t  auto_inc);
103
 
        UNIV_INTERN ulint innobase_initialize_autoinc();
 
118
        UNIV_INTERN void innobase_initialize_autoinc();
104
119
        UNIV_INTERN dict_index_t* innobase_get_index(uint keynr);
105
 
        UNIV_INTERN uint64_t innobase_get_int_col_max_value(const Field* field);
106
120
 
107
121
        /* Init values for the class: */
108
122
 public:
125
139
        UNIV_INTERN const char* index_type(uint key_number);
126
140
        UNIV_INTERN const key_map* keys_to_use_for_scanning();
127
141
 
128
 
        UNIV_INTERN int doOpen(const drizzled::TableIdentifier &identifier, int mode, uint test_if_locked);
 
142
        UNIV_INTERN int doOpen(const drizzled::identifier::Table &identifier, int mode, uint test_if_locked);
129
143
        UNIV_INTERN int close(void);
130
144
        UNIV_INTERN double scan_time();
131
145
        UNIV_INTERN double read_time(uint index, uint ranges, ha_rows rows);
205
219
};
206
220
 
207
221
 
208
 
extern "C" {
209
 
 
210
222
/** Get the file name of the MySQL binlog.
211
223
 * @return the name of the binlog file
212
224
 */
225
237
*/
226
238
int session_slave_thread(const Session *session);
227
239
 
228
 
}
229
 
 
230
240
typedef struct trx_struct trx_t;
231
241
/********************************************************************//**
232
242
@file Cursor/ha_innodb.h
234
244
about a possible transaction rollback inside InnoDB caused by a lock wait
235
245
timeout or a deadlock.
236
246
@return MySQL error code */
237
 
extern "C" UNIV_INTERN
 
247
UNIV_INTERN
238
248
int
239
249
convert_error_code_to_mysql(
240
250
/*========================*/
245
255
/*********************************************************************//**
246
256
Allocates an InnoDB transaction for a MySQL Cursor object.
247
257
@return InnoDB transaction handle */
248
 
extern "C" UNIV_INTERN
 
258
UNIV_INTERN
249
259
trx_t*
250
260
innobase_trx_allocate(
251
261
/*==================*/
255
265
This function checks each index name for a table against reserved
256
266
system default primary index name 'GEN_CLUST_INDEX'. If a name matches,
257
267
this function pushes an error message to the client, and returns true. */
258
 
extern "C"
259
268
bool
260
269
innobase_index_name_is_reserved(
261
270
/*============================*/