~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/db.h

  • Committer: Monty Taylor
  • Date: 2009-12-08 22:43:58 UTC
  • mfrom: (1240.1.5 build)
  • mto: (1240.1.6 build)
  • mto: This revision was merged to the branch mainline in revision 1241.
  • Revision ID: mordred@inaugust.com-20091208224358-u1pazjsnn4n932cu
MergedĀ upĀ build.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 
24
24
namespace drizzled { namespace message { class Schema; } }
25
25
 
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,
31
 
                     bool force_switch);
 
26
class NormalisedDatabaseName;
 
27
 
 
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);
32
32
 
33
33
bool check_db_dir_existence(const char *db_name);
34
34
int get_database_metadata(const char *dbname, drizzled::message::Schema *db);
35
35
 
36
36
const CHARSET_INFO *get_default_db_collation(const char *db_name);
37
37
 
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
 
39
{
 
40
private:
 
41
  std::string database_name;
 
42
 
 
43
  /* Copying a NonNormalisedDatabaseName is always wrong, it's
 
44
     immutable and should be passed by reference */
 
45
  NonNormalisedDatabaseName(const NonNormalisedDatabaseName&);
 
46
 
 
47
  NonNormalisedDatabaseName operator=(const NonNormalisedDatabaseName&);
 
48
 
 
49
public:
 
50
  explicit NonNormalisedDatabaseName(const std::string db) :
 
51
    database_name(db)
 
52
  {
 
53
  }
 
54
 
 
55
  const std::string &to_string(void) const
 
56
  {
 
57
    return database_name;
 
58
  }
 
59
};
 
60
 
 
61
class NormalisedDatabaseName
 
62
{
 
63
private:
 
64
  char* database_name;
 
65
 
 
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&);
 
70
 
 
71
public:
 
72
  explicit NormalisedDatabaseName(const NonNormalisedDatabaseName &dbname);
 
73
 
 
74
  ~NormalisedDatabaseName();
 
75
 
 
76
  const std::string to_string() const
 
77
  {
 
78
    std::string tmp(database_name);
 
79
    return tmp;
 
80
  }
 
81
 
 
82
  bool isValid() const;
 
83
};
 
84
 
 
85
class DatabasePathName
 
86
{
 
87
private:
 
88
  std::string database_path;
 
89
 
 
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&);
 
94
 
 
95
public:
 
96
  explicit DatabasePathName(const NormalisedDatabaseName &database_name);
 
97
 
 
98
  const std::string to_string() const
 
99
  {
 
100
    return database_path;
 
101
  }
 
102
 
 
103
  bool exists() const;
 
104
};
40
105
 
41
106
#endif /* DRIZZLED_DB_H */