24
24
namespace drizzled { namespace message { class Schema; } }
26
bool mysql_create_db(Session *session, const char *db, HA_CREATE_INFO *create_info,
27
bool is_if_not_exists);
28
bool mysql_alter_db(Session *session, const char *db, HA_CREATE_INFO *create);
29
bool mysql_rm_db(Session *session,char *db, bool if_exists);
30
bool mysql_change_db(Session *session, const LEX_STRING *new_db_name,
26
class NormalisedDatabaseName;
28
bool mysql_create_db(Session *session, const NormalisedDatabaseName &database_name, drizzled::message::Schema *schema_message, bool is_if_not_exists);
29
bool mysql_alter_db(Session *session, const NormalisedDatabaseName &database_name, drizzled::message::Schema *schema_message);
30
bool mysql_rm_db(Session *session, const NormalisedDatabaseName &database_name, bool if_exists);
31
bool mysql_change_db(Session *session, const NormalisedDatabaseName &new_db_name, bool force_switch);
33
33
bool check_db_dir_existence(const char *db_name);
34
34
int get_database_metadata(const char *dbname, drizzled::message::Schema *db);
36
36
const CHARSET_INFO *get_default_db_collation(const char *db_name);
38
extern int creating_database; // How many database locks are made
39
extern int creating_table; // How many mysql_create_table() are running
38
class NonNormalisedDatabaseName
41
std::string database_name;
43
/* Copying a NonNormalisedDatabaseName is always wrong, it's
44
immutable and should be passed by reference */
45
NonNormalisedDatabaseName(const NonNormalisedDatabaseName&);
47
NonNormalisedDatabaseName operator=(const NonNormalisedDatabaseName&);
50
explicit NonNormalisedDatabaseName(const std::string db) :
55
const std::string &to_string(void) const
61
class NormalisedDatabaseName
66
/* Copying a NormalisedDatabaseName is always wrong, it's
67
immutable and should be passed by reference */
68
NormalisedDatabaseName(const NormalisedDatabaseName&);
69
NormalisedDatabaseName operator=(const NormalisedDatabaseName&);
72
explicit NormalisedDatabaseName(const NonNormalisedDatabaseName &dbname);
74
~NormalisedDatabaseName();
76
const std::string to_string() const
78
std::string tmp(database_name);
85
class DatabasePathName
88
std::string database_path;
90
/* Copying a DatabasePathName is always wrong, it's
91
immutable and should be passed by reference. */
92
DatabasePathName(const DatabasePathName&);
93
DatabasePathName operator=(const DatabasePathName&);
96
explicit DatabasePathName(const NormalisedDatabaseName &database_name);
98
const std::string to_string() const
100
return database_path;
41
106
#endif /* DRIZZLED_DB_H */