18
18
* You should have received a copy of the GNU General Public License
19
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22
22
* 2005-11-10 Paul McCullagh
68
68
HTON_FAST_KEY_READ |
70
70
HTON_CAN_INDEX_BLOBS |
72
HTON_HAS_FOREIGN_KEYS |
73
HTON_HAS_DOES_TRANSACTIONS)
76
74
void operator delete(void *) {}
77
75
void operator delete[] (void *) {}
79
/* override */ uint32_t index_flags(enum ha_key_alg) const;
80
77
/* override */ int close_connection(Session *);
81
78
/* override */ int commit(Session *, bool);
82
79
/* override */ int rollback(Session *, bool);
83
/* override */ Cursor *create(Table&);
80
/* override */ Cursor *create(TableShare&, memory::Root *);
84
81
/* override */ void drop_database(char *);
85
82
/* override */ bool show_status(Session *, stat_print_fn *, enum ha_stat_type);
86
83
/* override */ const char **bas_ext() const;
87
/* override */ int doCreateTable(Session& session, Table &table_arg, const TableIdentifier& ident, drizzled::message::Table &proto);
88
/* override */ int doRenameTable(Session& session, const TableIdentifier& from, const TableIdentifier& to);
89
/* override */ int doDropTable(Session &session, const TableIdentifier& ident);
84
/* override */ int doCreateTable(Session& session, Table &table_arg, TableIdentifier& ident, drizzled::message::Table &proto);
85
/* override */ int doRenameTable(Session& session, TableIdentifier& from, TableIdentifier& to);
86
/* override */ int doDropTable(Session &session, TableIdentifier& ident);
91
88
/* override */ int doStartTransaction(Session *session, start_transaction_option_t options);
92
89
/* override */ int doStartConsistentSnapshot(Session *) { /* obsolete */ return -1; }
98
95
/* override */ int doCommit(drizzled::Session*, bool);
99
96
/* override */ int doRollback(drizzled::Session*, bool);
101
/* override */ uint32_t max_supported_keys(void) const { return UINT32_MAX; }
98
/* override */ uint32_t max_supported_keys(void) const { return -1; }
102
99
/* override */ uint32_t max_supported_key_part_length(void) const { return MAX_KEY_LENGTH; }
104
/* override */ void doGetTableIdentifiers(drizzled::CachedDirectory&,
105
const drizzled::SchemaIdentifier&,
106
drizzled::TableIdentifier::vector&) {}
108
/* override */ bool doDoesTableExist(Session&, const TableIdentifier &identifier);
110
virtual void shutdownPlugin();
112
~PBXTStorageEngine();
101
/* override */ void doGetTableIdentifiers(drizzled::CachedDirectory&,
102
drizzled::SchemaIdentifier&,
103
drizzled::TableIdentifiers&) {}
105
/* override */ void doGetTableNames(CachedDirectory&,
107
std::set<std::string>&) {}
109
/* override */ bool doDoesTableExist(Session&, TableIdentifier &identifier);
111
~PBXTStorageEngine();
115
114
typedef PBXTStorageEngine handlerton;
174
173
THD *pb_mysql_thd; /* A pointer to the MySQL thread. */
175
174
xtBool pb_in_stat; /* TRUE of start_stmt() was issued */
177
ha_pbxt(plugin::StorageEngine &engine_arg, Table &table_arg);
176
ha_pbxt(plugin::StorageEngine &engine_arg, TableShare &table_arg);
178
177
virtual ~ha_pbxt() { }
180
179
/* The name that will be used for display purposes */
198
197
MX_TABLE_TYPES_T table_flags() const;
200
* part is the key part to check. First key part is 0
201
* If all_parts it's set, MySQL want to know the flags for the combined
202
* index up to and including 'part'.
204
MX_ULONG_T index_flags(uint inx, uint part, bool all_parts) const;
201
207
* unireg.cc will call the following to make sure that the storage engine can
202
208
* handle the data it is about to send.
276
282
void unlock_row();
277
283
int delete_all_rows(void);
278
284
int repair(THD* thd, HA_CHECK_OPT* check_opt);
279
286
int analyze(THD* thd);
280
287
int optimize(THD* thd);
281
288
int check(THD* thd);
290
int analyze(THD* thd, HA_CHECK_OPT* check_opt);
291
int optimize(THD* thd, HA_CHECK_OPT* check_opt);
292
int check(THD* thd, HA_CHECK_OPT* check_opt);
282
294
ha_rows records_in_range(uint inx, key_range *min_key, key_range *max_key);
296
int delete_system_table(const char *table_path);
297
int delete_table(const char *from);
298
int rename_system_table(const char * from, const char * to);
299
int rename_table(const char * from, const char * to);
300
int create(const char *name, TABLE *form, HA_CREATE_INFO *create_info); //required
284
303
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type); //required