00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <drizzled/util/string.h>
00024 #include <drizzled/message/table.h>
00025
00026 #include <boost/unordered_map.hpp>
00027
00028 namespace drizzled {
00029 namespace session {
00030
00031 class DRIZZLED_API TableMessages
00032 {
00033 typedef boost::unordered_map<std::string, message::Table, util::insensitive_hash, util::insensitive_equal_to> Cache;
00034
00035 Cache table_message_cache;
00036
00037 public:
00038 bool storeTableMessage(const identifier::Table &identifier, const message::Table &table_message);
00039 bool removeTableMessage(const identifier::Table &identifier);
00040 bool getTableMessage(const identifier::Table &identifier, message::Table &table_message);
00041 bool doesTableMessageExist(const identifier::Table &identifier);
00042 bool renameTableMessage(const identifier::Table &from, const identifier::Table &to);
00043 };
00044
00045 }
00046 }
00047