36
36
#include "drizzled/definitions.h"
37
37
#include <string.h>
42
46
namespace drizzled {
44
48
uint32_t filename_to_tablename(const char *from, char *to, uint32_t to_length);
45
bool tablename_to_filename(const char *from, char *to, size_t to_length);
46
size_t build_tmptable_filename(char *buff, size_t bufflen);
47
size_t build_table_filename(char *buff, size_t bufflen, const char *db, const char *table_name, bool is_tmp);
49
size_t build_table_filename(std::string &buff, const char *db, const char *table_name, bool is_tmp);
50
52
class TableIdentifier
55
54
tmp_table_type type;
58
const char *table_name;
57
std::string table_name;
59
std::string lower_table_name;
59
60
std::string sql_path;
62
TableIdentifier( const char *db_arg,
63
const char *table_name_arg,
63
TableIdentifier( const std::string &db_arg,
64
const std::string &table_name_arg,
64
65
tmp_table_type tmp_arg= STANDARD_TABLE) :
68
68
table_name(table_name_arg),
70
lower_table_name(table_name_arg),
73
std::transform(lower_table_name.begin(), lower_table_name.end(),
74
lower_table_name.begin(), ::tolower);
76
std::transform(lower_db.begin(), lower_db.end(),
77
lower_db.begin(), ::tolower);
80
sql_path.append(table_name);
84
This is only used in scavenging lost tables. Once the temp schema engine goes in, this should go away.
86
TableIdentifier( const char *path_arg ) :
71
93
sql_path.append(".");
85
const char *getPath();
87
const char *getDBName() const
92
const char *getSchemaName() const
97
const char *getTableName() const
107
const std::string &getPath();
109
const std::string &getDBName() const
114
const std::string &getSchemaName() const
119
const std::string getTableName() const
99
121
return table_name;
134
156
if (left.type == right.type)
136
if (! strcmp(left.db, right.db))
158
if (left.db == right.db)
138
if (! strcmp(left.table_name, right.table_name))
160
if (left.table_name == right.table_name)