~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/user_locks/get_locks.cc

  • Committer: Monty Taylor
  • Date: 2011-02-13 17:26:39 UTC
  • mfrom: (2157.2.2 give-in-to-pkg-config)
  • mto: This revision was merged to the branch mainline in revision 2166.
  • Revision ID: mordred@inaugust.com-20110213172639-nhy7i72sfhoq13ms
Merged in pkg-config fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
    if (res && res->length())
38
38
    {
39
 
      list_of_locks.insert(Key(getSession().getSecurityContext(), res->c_str()));
 
39
      list_of_locks.insert(Key(*getSession().user(), res->c_str()));
40
40
    }
41
41
    else
42
42
    {
 
43
      my_error(drizzled::ER_USER_LOCKS_INVALID_NAME_LOCK, MYF(0));
 
44
      return 0;
 
45
    }
 
46
  }
 
47
 
 
48
  bool result;
 
49
  {
 
50
    boost::this_thread::restore_interruption dl(getSession().getThreadInterupt());
 
51
 
 
52
    try {
 
53
      result= user_locks::Locks::getInstance().lock(getSession().getSessionId(), list_of_locks);
 
54
    }
 
55
    catch(boost::thread_interrupted const& error)
 
56
    {
 
57
      my_error(drizzled::ER_QUERY_INTERRUPTED, MYF(0));
43
58
      null_value= true;
 
59
 
44
60
      return 0;
45
61
    }
46
62
  }
47
63
 
48
 
  null_value= false;
49
 
 
50
 
 
51
 
  boost::tribool result= user_locks::Locks::getInstance().lock(getSession().getSessionId(), list_of_locks);
52
 
 
53
 
  if (boost::indeterminate(result))
54
 
    null_value= true;
55
 
 
56
64
  if (result)
57
65
  {
58
66
    user_locks::Storable *list= static_cast<user_locks::Storable *>(getSession().getProperty("user_locks"));
68
76
      list->insert(*iter);
69
77
    }
70
78
 
 
79
    null_value= false;
 
80
 
71
81
    return 1;
72
82
  }
73
83