~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/blackhole/ha_blackhole.cc

Merge of trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
92
92
                           const drizzled::TableIdentifier &identifier,
93
93
                           drizzled::message::Table &table_message);
94
94
 
95
 
  void doGetTableNames(drizzled::CachedDirectory &directory,
96
 
                       const SchemaIdentifier &,
97
 
                       set<string>& set_of_names)
98
 
  {
99
 
    drizzled::CachedDirectory::Entries entries= directory.getEntries();
100
 
 
101
 
    for (drizzled::CachedDirectory::Entries::iterator entry_iter= entries.begin();
102
 
         entry_iter != entries.end(); ++entry_iter)
103
 
    {
104
 
      drizzled::CachedDirectory::Entry *entry= *entry_iter;
105
 
      const string *filename= &entry->filename;
106
 
 
107
 
      assert(filename->size());
108
 
 
109
 
      const char *ext= strchr(filename->c_str(), '.');
110
 
 
111
 
      if (ext == NULL || my_strcasecmp(system_charset_info, ext, BLACKHOLE_EXT) ||
112
 
         (filename->compare(0, strlen(TMP_FILE_PREFIX), TMP_FILE_PREFIX) == 0))
113
 
      {  }
114
 
      else
115
 
      {
116
 
        char uname[NAME_LEN + 1];
117
 
        uint32_t file_name_len;
118
 
 
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);
123
 
      }
124
 
    }
125
 
  }
126
 
 
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; }