18
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23
#include "drizzled/util/string.h"
24
#include "drizzled/session/table_messages.h"
25
#include "drizzled/identifier.h"
26
#include "drizzled/message/table.h"
23
#include <drizzled/util/string.h>
24
#include <drizzled/session/table_messages.h>
25
#include <drizzled/identifier.h>
26
#include <drizzled/message/table.h>
27
#include <drizzled/util/find_ptr.h>
36
bool TableMessages::storeTableMessage(const identifier::Table &identifier, message::Table &table_message)
33
bool TableMessages::storeTableMessage(const identifier::Table &identifier, const 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());