914
AddTableName(CachedDirectory& directory_arg, string& database_name, set<string>& of_names) :
915
AddTableName(CachedDirectory& directory_arg, const string& database_name, set<string>& of_names) :
915
916
directory(directory_arg),
916
917
set_of_names(of_names)
927
void plugin::StorageEngine::getTableNames(string& db, set<string>& set_of_names)
928
void plugin::StorageEngine::getSchemaNames(set<string>& set_of_names)
930
CachedDirectory directory(drizzle_data_home, CachedDirectory::DIRECTORY);
932
CachedDirectory::Entries files= directory.getEntries();
934
for (CachedDirectory::Entries::iterator fileIter= files.begin();
935
fileIter != files.end(); fileIter++)
937
CachedDirectory::Entry *entry= *fileIter;
938
set_of_names.insert(entry->filename);
941
set_of_names.insert("information_schema"); // special cases suck
943
// Add hook here for engines to register schema.
945
for_each(vector_of_engines.begin(), vector_of_engines.end(),
946
AddTableName(directory, db, set_of_names));
951
Return value is "if parsed"
953
bool plugin::StorageEngine::getSchemaDefinition(const std::string &schema_name, message::Schema &proto)
957
if (schema_name.compare("information_schema") == 0)
959
proto.set_name("information_schema");
960
proto.set_collation("utf8_general_ci");
965
ret= get_database_metadata(schema_name.c_str(), proto);
968
return ret == 0 ? true : false;
971
void plugin::StorageEngine::getTableNames(const string& db, set<string>& set_of_names)
929
973
char tmp_path[FN_REFLEN];