23 #include <boost/bind.hpp>
25 #include <drizzled/identifier.h>
26 #include <drizzled/error.h>
27 #include <drizzled/catalog.h>
28 #include <drizzled/plugin/catalog.h>
30 #include <boost/unordered_map.hpp>
31 #include <boost/thread/mutex.hpp>
50 static void copy(catalog::Instance::vector&);
52 typedef boost::unordered_map<identifier::Catalog, catalog::Instance::shared_ptr> unordered_map;
54 static unordered_map cache;
55 static boost::mutex _mutex;
70 identifier(identifier_arg)
84 if (not catalog::Cache::unlock(identifier, error))
86 my_error(error, identifier);
96 if (not catalog::Cache::lock(identifier, error))
116 identifier(identifier_arg)
130 if (not catalog::Cache::unlock(identifier, error))
132 my_error(error, identifier);
143 if (not catalog::Cache::lock(identifier, error))
145 my_error(error, identifier);
TODO: Rename this file - func.h is stupid.