331
static void add(plugin::StorageEngine *engine);
332
static void remove(plugin::StorageEngine *engine);
334
static int getTableProto(const char* path, message::Table *table_proto);
336
static plugin::StorageEngine *findByName(Session *session,
337
std::string find_str);
338
static void closeConnection(Session* session);
339
static void dropDatabase(char* path);
340
static int commitOrRollbackByXID(XID *xid, bool commit);
341
static int releaseTemporaryLatches(Session *session);
342
static bool flushLogs(plugin::StorageEngine *db_type);
343
static int recover(HASH *commit_list);
344
static int startConsistentSnapshot(Session *session);
345
static int deleteTable(Session *session, const char *path, const char *db,
346
const char *alias, bool generate_warning);
347
static inline const std::string &resolveName(const StorageEngine *engine)
349
return engine == NULL ? UNKNOWN_STRING : engine->getName();
329
354
class TableNameIteratorImplementation
367
class TableNameIterator
370
::drizzled::Registry<plugin::StorageEngine *>::iterator engine_iter;
371
plugin::TableNameIteratorImplementation *current_implementation;
372
plugin::TableNameIteratorImplementation *default_implementation;
373
std::string database;
375
TableNameIterator(const std::string &db);
376
~TableNameIterator();
378
int next(std::string *name);
343
382
} /* namespace plugin */
344
383
} /* namespace drizzled */
358
397
handler *get_new_handler(TableShare *share, MEM_ROOT *alloc,
359
398
drizzled::plugin::StorageEngine *db_type);
360
const std::string ha_resolve_storage_engine_name(const drizzled::plugin::StorageEngine *db_type);
402
/** @TODO remove each of the following convenience naming methods */
404
static inline void ha_close_connection(Session *session)
406
drizzled::plugin::StorageEngine::closeConnection(session);
409
static inline void ha_drop_database(char* path)
411
drizzled::plugin::StorageEngine::dropDatabase(path);
414
static inline int ha_commit_or_rollback_by_xid(XID *xid, bool commit)
416
return drizzled::plugin::StorageEngine::commitOrRollbackByXID(xid, commit);
419
/* report to InnoDB that control passes to the client */
420
static inline int ha_release_temporary_latches(Session *session)
422
return drizzled::plugin::StorageEngine::releaseTemporaryLatches(session);
425
static inline bool ha_flush_logs(drizzled::plugin::StorageEngine *engine)
427
return drizzled::plugin::StorageEngine::flushLogs(engine);
430
static inline int ha_recover(HASH *commit_list)
432
return drizzled::plugin::StorageEngine::recover(commit_list);
435
static inline int ha_start_consistent_snapshot(Session *session)
437
return drizzled::plugin::StorageEngine::startConsistentSnapshot(session);
440
static inline int ha_delete_table(Session *session, const char *path,
441
const char *db, const char *alias, bool generate_warning)
443
return drizzled::plugin::StorageEngine::deleteTable(session, path, db,
444
alias, generate_warning);
363
448
#endif /* DRIZZLED_PLUGIN_STORAGE_ENGINE_H */