280
280
virtual int doCreateTable(Session &session,
281
281
Table &table_arg,
282
const drizzled::identifier::Table &identifier,
282
const drizzled::TableIdentifier &identifier,
283
283
message::Table &message)= 0;
285
285
virtual int doRenameTable(Session &session,
286
const drizzled::identifier::Table &from, const drizzled::identifier::Table &to)= 0;
286
const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to)= 0;
288
288
virtual int doDropTable(Session &session,
289
const drizzled::identifier::Table &identifier)= 0;
289
const drizzled::TableIdentifier &identifier)= 0;
291
291
virtual void doGetTableIdentifiers(CachedDirectory &directory,
292
const drizzled::identifier::Schema &schema_identifier,
293
identifier::Table::vector &set_of_identifiers)= 0;
295
virtual bool doDoesTableExist(Session& session, const drizzled::identifier::Table &identifier);
297
virtual bool doCanCreateTable(const drizzled::identifier::Table &identifier)
292
const drizzled::SchemaIdentifier &schema_identifier,
293
TableIdentifier::vector &set_of_identifiers)= 0;
295
virtual bool doDoesTableExist(Session& session, const drizzled::TableIdentifier &identifier);
297
virtual bool doCanCreateTable(const drizzled::TableIdentifier &identifier)
298
298
{ (void)identifier; return true; }
315
315
friend class StorageEngineGetTableDefinition;
316
316
friend class DropTableByIdentifier;
318
int renameTable(Session &session, const drizzled::identifier::Table &from, const drizzled::identifier::Table &to);
318
int renameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to);
320
320
/* Class Methods for operating on plugin */
321
321
static bool addPlugin(plugin::StorageEngine *engine);
322
322
static void removePlugin(plugin::StorageEngine *engine);
324
324
static int getTableDefinition(Session& session,
325
const drizzled::identifier::Table &identifier,
325
const drizzled::TableIdentifier &identifier,
326
326
message::table::shared_ptr &table_proto,
327
327
bool include_temporary_tables= true);
328
328
static message::table::shared_ptr getTableMessage(Session& session,
329
const drizzled::identifier::Table &identifier,
329
const drizzled::TableIdentifier &identifier,
330
330
drizzled::error_t &error,
331
331
bool include_temporary_tables= true);
332
332
static bool doesTableExist(Session &session,
333
const drizzled::identifier::Table &identifier,
333
const drizzled::TableIdentifier &identifier,
334
334
bool include_temporary_tables= true);
336
336
static plugin::StorageEngine *findByName(const std::string &find_str);
341
341
static bool flushLogs(plugin::StorageEngine *db_type);
343
343
static bool dropTable(Session& session,
344
const drizzled::identifier::Table &identifier);
344
const drizzled::TableIdentifier &identifier);
345
345
static bool dropTable(Session& session,
346
const drizzled::identifier::Table &identifier,
346
const drizzled::TableIdentifier &identifier,
347
347
drizzled::error_t &error);
349
349
static bool dropTable(Session& session,
350
350
StorageEngine &engine,
351
identifier::Table::const_reference identifier,
351
TableIdentifier::const_reference identifier,
352
352
drizzled::error_t &error);
354
354
static void getIdentifiers(Session &session,
355
const identifier::Schema &schema_identifier,
356
identifier::Table::vector &set_of_identifiers);
355
const SchemaIdentifier &schema_identifier,
356
TableIdentifier::vector &set_of_identifiers);
358
358
// Check to see if any SE objects to creation.
359
static bool canCreateTable(const drizzled::identifier::Table &identifier);
359
static bool canCreateTable(const drizzled::TableIdentifier &identifier);
361
361
// @note All schema methods defined here
362
static void getIdentifiers(Session &session, identifier::Schema::vector &schemas);
363
static bool getSchemaDefinition(const drizzled::identifier::Table &identifier, message::schema::shared_ptr &proto);
364
static bool getSchemaDefinition(const drizzled::identifier::Schema &identifier, message::schema::shared_ptr &proto);
365
static bool doesSchemaExist(const drizzled::identifier::Schema &identifier);
366
static const CHARSET_INFO *getSchemaCollation(const drizzled::identifier::Schema &identifier);
362
static void getIdentifiers(Session &session, SchemaIdentifier::vector &schemas);
363
static bool getSchemaDefinition(const drizzled::TableIdentifier &identifier, message::schema::shared_ptr &proto);
364
static bool getSchemaDefinition(const drizzled::SchemaIdentifier &identifier, message::schema::shared_ptr &proto);
365
static bool doesSchemaExist(const drizzled::SchemaIdentifier &identifier);
366
static const CHARSET_INFO *getSchemaCollation(const drizzled::SchemaIdentifier &identifier);
367
367
static bool createSchema(const drizzled::message::Schema &schema_message);
368
static bool dropSchema(drizzled::Session& session, identifier::Schema::const_reference identifier);
368
static bool dropSchema(drizzled::Session& session, SchemaIdentifier::const_reference identifier);
369
369
static bool alterSchema(const drizzled::message::Schema &schema_message);
371
371
// @note make private/protected
373
virtual void doGetSchemaIdentifiers(identifier::Schema::vector&)
373
virtual void doGetSchemaIdentifiers(SchemaIdentifier::vector&)
376
virtual bool doGetSchemaDefinition(const drizzled::identifier::Schema&, drizzled::message::schema::shared_ptr&)
376
virtual bool doGetSchemaDefinition(const drizzled::SchemaIdentifier&, drizzled::message::schema::shared_ptr&)
422
422
/* TODO-> Make private */
424
static int deleteDefinitionFromPath(const drizzled::identifier::Table &identifier);
425
static int renameDefinitionFromPath(const drizzled::identifier::Table &dest, const drizzled::identifier::Table &src);
426
static int writeDefinitionFromPath(const drizzled::identifier::Table &identifier, message::Table &proto);
424
static int deleteDefinitionFromPath(const drizzled::TableIdentifier &identifier);
425
static int renameDefinitionFromPath(const drizzled::TableIdentifier &dest, const drizzled::TableIdentifier &src);
426
static int writeDefinitionFromPath(const drizzled::TableIdentifier &identifier, message::Table &proto);
427
427
static bool readTableFile(const std::string &path, message::Table &table_message);