115
116
static const std::bitset<HTON_BIT_SIZE> HTON_HAS_CHECKSUM(1 << HTON_BIT_HAS_CHECKSUM);
116
117
static const std::bitset<HTON_BIT_SIZE> HTON_SKIP_STORE_LOCK(1 << HTON_BIT_SKIP_STORE_LOCK);
117
118
static const std::bitset<HTON_BIT_SIZE> HTON_HAS_SCHEMA_DICTIONARY(1 << HTON_BIT_SCHEMA_DICTIONARY);
119
static const std::bitset<HTON_BIT_SIZE> HTON_HAS_FOREIGN_KEYS(1 << HTON_BIT_FOREIGN_KEYS);
285
287
TableIdentifier &identifier,
286
288
message::Table& proto)= 0;
288
virtual int doRenameTable(Session* session,
289
const char *from, const char *to);
290
virtual int doRenameTable(Session &session,
291
TableIdentifier &from, TableIdentifier &to)= 0;
293
int renameTable(Session *session, const char *from, const char *to)
295
setTransactionReadWrite(*session);
297
return doRenameTable(session, from, to);
295
int renameTable(Session &session, TableIdentifier &from, TableIdentifier &to);
300
297
// @todo move these to protected
301
298
virtual void doGetTableNames(CachedDirectory &directory,
302
299
std::string& db_name,
303
300
TableNameList &set_of_names);
304
int doDropTable(Session &session,
305
TableIdentifier &identifier,
306
const std::string &table_path)
308
assert(not table_path.compare(identifier.getPath()));
309
return doDropTable(session, identifier);
312
302
virtual int doDropTable(Session &session,
313
303
TableIdentifier &identifier)= 0;
327
317
virtual bool doDoesTableExist(Session& session, TableIdentifier &identifier);
329
static plugin::StorageEngine *findByName(std::string find_str);
330
static plugin::StorageEngine *findByName(Session& session,
331
std::string find_str);
319
static plugin::StorageEngine *findByName(const std::string &find_str);
320
static plugin::StorageEngine *findByName(Session& session, const std::string &find_str);
332
322
static void closeConnection(Session* session);
333
323
static void dropDatabase(char* path);
334
324
static bool flushLogs(plugin::StorageEngine *db_type);
404
394
virtual uint32_t max_supported_key_part_length(void) const { return 255; }
406
396
/* TODO-> Make private */
407
static int readDefinitionFromPath(TableIdentifier &identifier, message::Table &proto);
408
397
static int deleteDefinitionFromPath(TableIdentifier &identifier);
409
398
static int renameDefinitionFromPath(TableIdentifier &dest, TableIdentifier &src);
410
399
static int writeDefinitionFromPath(TableIdentifier &identifier, message::Table &proto);