30
30
table_cache_dictionary::TableCache::TableCache() :
31
31
plugin::TableFunction("DATA_DICTIONARY", "TABLE_CACHE")
33
add_field("SESSION_ID", plugin::TableFunction::NUMBER);
33
add_field("SESSION_ID", plugin::TableFunction::NUMBER, 0, false);
34
34
add_field("TABLE_SCHEMA");
35
35
add_field("TABLE_NAME");
36
add_field("VERSION", plugin::TableFunction::NUMBER);
37
add_field("IS_NAME_LOCKED", plugin::TableFunction::BOOLEAN);
38
add_field("ROWS", plugin::TableFunction::NUMBER);
39
add_field("AVG_ROW_LENGTH", plugin::TableFunction::NUMBER);
40
add_field("TABLE_SIZE", plugin::TableFunction::NUMBER);
41
add_field("AUTO_INCREMENT", plugin::TableFunction::NUMBER);
36
add_field("VERSION", plugin::TableFunction::NUMBER, 0, false);
37
add_field("IS_NAME_LOCKED", plugin::TableFunction::BOOLEAN, 0, false);
38
add_field("ROWS", plugin::TableFunction::NUMBER, 0, false);
39
add_field("AVG_ROW_LENGTH", plugin::TableFunction::NUMBER, 0, false);
40
add_field("TABLE_SIZE", plugin::TableFunction::NUMBER, 0, false);
41
add_field("AUTO_INCREMENT", plugin::TableFunction::NUMBER, 0, false);
44
44
table_cache_dictionary::TableCache::Generator::Generator(drizzled::Field **arg) :
45
45
drizzled::plugin::TableFunction::Generator(arg),
48
pthread_mutex_lock(&LOCK_open); /* Optionally lock for remove tables from open_cahe if not in use */
50
drizzled::HASH *open_cache=
53
for (uint32_t idx= 0; idx < open_cache->records; idx++ )
55
table= (Table*) hash_element(open_cache, idx);
56
table_list.push_back(table);
48
LOCK_open.lock(); /* Optionally lock for remove tables from open_cahe if not in use */
50
for (TableOpenCache::const_iterator iter= get_open_cache().begin();
51
iter != get_open_cache().end();
54
table_list.push_back((*iter).second);
58
56
std::sort(table_list.begin(), table_list.end(), Table::compare);
61
59
table_cache_dictionary::TableCache::Generator::~Generator()
63
pthread_mutex_unlock(&LOCK_open); /* Optionally lock for remove tables from open_cahe if not in use */
61
LOCK_open.unlock(); /* Optionally lock for remove tables from open_cahe if not in use */
66
64
bool table_cache_dictionary::TableCache::Generator::nextCore()