208
208
virtual ~StorageEngine();
210
211
virtual int doGetTableDefinition(Session &session,
211
212
const drizzled::TableIdentifier &identifier,
212
213
message::Table &table_message)
221
222
/* Old style cursor errors */
223
223
void print_keydup_error(uint32_t key_nr, const char *msg, Table &table);
224
224
void print_error(int error, myf errflag, Table *table= NULL);
225
225
virtual bool get_error_message(int error, String *buf);
284
285
virtual int doRenameTable(Session &session,
285
286
const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to)= 0;
289
int renameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to);
288
virtual int doDropTable(Session &session,
289
const drizzled::TableIdentifier &identifier)= 0;
291
291
virtual void doGetTableIdentifiers(CachedDirectory &directory,
292
292
const drizzled::SchemaIdentifier &schema_identifier,
293
293
TableIdentifier::vector &set_of_identifiers)= 0;
295
virtual int doDropTable(Session &session,
296
const drizzled::TableIdentifier &identifier)= 0;
295
virtual bool doDoesTableExist(Session& session, const drizzled::TableIdentifier &identifier);
297
virtual bool doCanCreateTable(const drizzled::TableIdentifier &identifier)
298
{ (void)identifier; return true; }
302
friend class AddSchemaNames;
303
friend class AddTableIdentifier;
304
friend class AlterSchema;
305
friend class CanCreateTable;
306
friend class CreateSchema;
307
friend class DropSchema;
308
friend class DropTable;
309
friend class DropTables;
310
friend class FindEngineByName;
311
friend class Ha_delete_table_error_handler;
312
friend class StorageEngineCloseConnection;
313
friend class StorageEngineDoesTableExist;
314
friend class StorageEngineGetSchemaDefinition;
315
friend class StorageEngineGetTableDefinition;
317
int renameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to);
298
319
/* Class Methods for operating on plugin */
299
320
static bool addPlugin(plugin::StorageEngine *engine);
307
328
const drizzled::TableIdentifier &identifier,
308
329
bool include_temporary_tables= true);
310
virtual bool doDoesTableExist(Session& session, const drizzled::TableIdentifier &identifier);
312
331
static plugin::StorageEngine *findByName(const std::string &find_str);
313
332
static plugin::StorageEngine *findByName(Session& session, const std::string &find_str);
327
346
// Check to see if any SE objects to creation.
328
347
static bool canCreateTable(const drizzled::TableIdentifier &identifier);
329
virtual bool doCanCreateTable(const drizzled::TableIdentifier &identifier)
330
{ (void)identifier; return true; }
332
349
// @note All schema methods defined here
333
350
static void getIdentifiers(Session &session, SchemaIdentifier::vector &schemas);