24
24
#include <drizzled/session/table_messages.h>
25
25
#include <drizzled/identifier.h>
26
26
#include <drizzled/message/table.h>
27
#include <drizzled/util/find_ptr.h>
36
33
bool TableMessages::storeTableMessage(const identifier::Table &identifier, message::Table &table_message)
38
35
table_message_cache.insert(make_pair(identifier.getPath(), table_message));
43
39
bool TableMessages::removeTableMessage(const identifier::Table &identifier)
47
iter= table_message_cache.find(identifier.getPath());
41
Cache::iterator iter= table_message_cache.find(identifier.getPath());
49
42
if (iter == table_message_cache.end())
52
44
table_message_cache.erase(iter);
57
48
bool TableMessages::getTableMessage(const identifier::Table &identifier, message::Table &table_message)
61
iter= table_message_cache.find(identifier.getPath());
63
if (iter == table_message_cache.end())
50
Cache::mapped_type* ptr= find_ptr(table_message_cache, identifier.getPath());
66
table_message.CopyFrom((iter->second));
53
table_message.CopyFrom(*ptr);
71
57
bool TableMessages::doesTableMessageExist(const identifier::Table &identifier)
75
iter= table_message_cache.find(identifier.getPath());
77
if (iter == table_message_cache.end())
59
return find_ptr(table_message_cache, identifier.getPath());
85
62
bool TableMessages::renameTableMessage(const identifier::Table &from, const identifier::Table &to)
89
64
table_message_cache[to.getPath()]= table_message_cache[from.getPath()];
91
iter= table_message_cache.find(to.getPath());
93
if (iter == table_message_cache.end())
65
Cache::mapped_type* ptr= find_ptr(table_message_cache, to.getPath());
98
iter->second.set_schema(to.getSchemaName());
99
iter->second.set_name(to.getTableName());
68
ptr->set_schema(to.getSchemaName());
69
ptr->set_name(to.getTableName());