92
92
const drizzled::TableIdentifier &identifier,
93
93
drizzled::message::Table &table_message);
95
void doGetTableNames(drizzled::CachedDirectory &directory,
96
const SchemaIdentifier &,
97
set<string>& set_of_names)
99
drizzled::CachedDirectory::Entries entries= directory.getEntries();
101
for (drizzled::CachedDirectory::Entries::iterator entry_iter= entries.begin();
102
entry_iter != entries.end(); ++entry_iter)
104
drizzled::CachedDirectory::Entry *entry= *entry_iter;
105
const string *filename= &entry->filename;
107
assert(filename->size());
109
const char *ext= strchr(filename->c_str(), '.');
111
if (ext == NULL || my_strcasecmp(system_charset_info, ext, BLACKHOLE_EXT) ||
112
(filename->compare(0, strlen(TMP_FILE_PREFIX), TMP_FILE_PREFIX) == 0))
116
char uname[NAME_LEN + 1];
117
uint32_t file_name_len;
119
file_name_len= TableIdentifier::filename_to_tablename(filename->c_str(), uname, sizeof(uname));
120
// TODO: Remove need for memory copy here
121
uname[file_name_len - sizeof(BLACKHOLE_EXT) + 1]= '\0'; // Subtract ending, place NULL
122
set_of_names.insert(uname);
127
95
/* The following defines can be increased if necessary */
128
96
uint32_t max_supported_keys() const { return BLACKHOLE_MAX_KEY; }
129
97
uint32_t max_supported_key_length() const { return BLACKHOLE_MAX_KEY_LENGTH; }