23 #include <plugin/user_locks/module.h>
25 #include <drizzled/atomics.h>
26 #include <drizzled/session.h>
34 UserBarriers::UserBarriers() :
35 plugin::TableFunction(
"DATA_DICTIONARY",
"USER_DEFINED_BARRIERS")
37 add_field(
"USER_BARRIER_NAME", plugin::TableFunction::STRING, LARGEST_LOCK_NAME,
false);
38 add_field(
"SESSION_ID", plugin::TableFunction::NUMBER, 0,
false);
39 add_field(
"USER_NAME", plugin::TableFunction::STRING);
40 add_field(
"WAITER_LIMIT", plugin::TableFunction::NUMBER, 0,
false);
41 add_field(
"GENERATION", plugin::TableFunction::NUMBER, 0,
false);
42 add_field(
"WAITERS", plugin::TableFunction::NUMBER, 0,
false);
43 add_field(
"OBSERVERS", plugin::TableFunction::NUMBER, 0,
false);
49 Barriers::getInstance().Copy(barrier_map);
50 iter= barrier_map.begin();
53 bool UserBarriers::Generator::populate()
56 while (iter != barrier_map.end())
59 push(iter->first.getLockName());
62 push(iter->second->getOwner());
65 push(iter->first.getUser());
68 push(iter->second->getLimit());
71 push(iter->second->getGeneration());
74 push(iter->second->sizeWaiters());
77 push(iter->second->sizeObservers());
TODO: Rename this file - func.h is stupid.