22 #include <plugin/user_locks/module.h>
23 #include <plugin/user_locks/lock_storage.h>
27 namespace user_locks {
34 if (not res || not res->length())
36 my_error(drizzled::ER_USER_LOCKS_INVALID_NAME_LOCK, MYF(0));
41 drizzled::identifier::user::ptr user_identifier(getSession().user());
43 locks::return_t result;
46 boost::this_thread::restore_interruption dl(getSession().getThreadInterupt());
48 result= user_locks::Locks::getInstance().release(
Key(*user_identifier, res->c_str()),
id,
true);
50 catch(boost::thread_interrupted
const& error)
52 my_error(drizzled::ER_QUERY_INTERRUPTED, MYF(0));
65 list->erase(
Key(*user_identifier, res->c_str()));
68 case locks::NOT_FOUND:
71 case locks::NOT_OWNED_BY:
72 my_error(drizzled::ER_USER_LOCKS_NOT_OWNER_OF_LOCK, MYF(0));
session_id_t getSessionId() const
virtual String * val_str(String *str)=0