22 #include <plugin/user_locks/module.h>
23 #include <plugin/user_locks/lock_storage.h>
33 if (not res || not res->length())
35 my_error(drizzled::ER_USER_LOCKS_INVALID_NAME_LOCK, MYF(0));
40 drizzled::identifier::user::ptr user_identifier(getSession().user());
42 locks::return_t result;
44 boost::this_thread::restore_interruption dl(getSession().getThreadInterupt());
46 result= user_locks::Locks::getInstance().release(
Key(*user_identifier, res->c_str()),
id);
48 catch(boost::thread_interrupted
const& error)
50 my_error(drizzled::ER_QUERY_INTERRUPTED, MYF(0));
63 list->erase(
Key(*user_identifier, res->c_str()));
67 case locks::NOT_FOUND:
70 case locks::NOT_OWNED_BY:
71 my_error(drizzled::ER_USER_LOCKS_NOT_OWNER_OF_LOCK, MYF(0));
session_id_t getSessionId() const
virtual String * val_str(String *str)=0