~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

  • Committer: Brian Aker
  • Date: 2010-10-15 05:30:39 UTC
  • mfrom: (1843.8.7 trunk-drizzle)
  • Revision ID: brian@tangent.org-20101015053039-ebmv3hnn1yaq4wqy
Merge in refactoring on table (broken it up by type, this will allow me to
insert the new locking).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*****************************************************************************
2
2
 
3
 
Copyright (c) 2000, 2010, MySQL AB & Innobase Oy. All Rights Reserved.
 
3
Copyright (c) 2000, 2009, 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
 
 
46
34
/** InnoDB table share */
47
35
typedef struct st_innobase_share {
48
36
        THR_LOCK        lock;           /*!< MySQL lock protecting
52
40
                                        incremented in get_share()
53
41
                                        and decremented in free_share() */
54
42
        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 */
58
43
 
59
44
        st_innobase_share(const char *arg) :
60
45
          use_count(0)
115
100
        UNIV_INTERN ulint innobase_reset_autoinc(uint64_t auto_inc);
116
101
        UNIV_INTERN ulint innobase_get_autoinc(uint64_t* value);
117
102
        ulint innobase_update_autoinc(uint64_t  auto_inc);
118
 
        UNIV_INTERN void innobase_initialize_autoinc();
 
103
        UNIV_INTERN ulint innobase_initialize_autoinc();
119
104
        UNIV_INTERN dict_index_t* innobase_get_index(uint keynr);
 
105
        UNIV_INTERN uint64_t innobase_get_int_col_max_value(const Field* field);
120
106
 
121
107
        /* Init values for the class: */
122
108
 public:
123
109
        UNIV_INTERN ha_innobase(plugin::StorageEngine &engine,
124
 
                                Table &table_arg);
 
110
                                TableShare &table_arg);
125
111
        UNIV_INTERN ~ha_innobase();
126
112
  /**
127
113
   * Returns the plugin::TransactionStorageEngine pointer
133
119
   */
134
120
  UNIV_INTERN plugin::TransactionalStorageEngine *getTransactionalEngine()
135
121
  {
136
 
    return static_cast<plugin::TransactionalStorageEngine *>(getEngine());
 
122
    return static_cast<plugin::TransactionalStorageEngine *>(engine);
137
123
  }
138
124
 
139
125
        UNIV_INTERN const char* index_type(uint key_number);