~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.cc

  • Committer: Olaf van der Spek
  • Date: 2011-03-22 10:55:07 UTC
  • mto: (2245.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2246.
  • Revision ID: olafvdspek@gmail.com-20110322105507-r0mmqb7jthoz1j40
Refactor Session

Show diffs side-by-side

added added

removed removed

Lines of Context:
150
150
{
151
151
public:
152
152
  typedef session::PropertyMap properties_t;
 
153
  typedef std::map<std::string, plugin::EventObserverList*> schema_event_observers_t;
153
154
 
154
155
  Diagnostics_area diagnostics;
155
156
  /**
160
161
  */
161
162
  LEX lex;
162
163
  properties_t properties;
 
164
  schema_event_observers_t schema_event_observers;
163
165
  system_status_var status_var;
164
166
  session::TableMessages table_message_cache;
165
167
  std::vector<table::Singular*> temporary_shares;
480
482
  plugin::Logging::postEndDo(this);
481
483
  plugin::EventObserver::deregisterSessionEvents(session_event_observers); 
482
484
 
483
 
        BOOST_FOREACH(schema_event_observers_t::reference it, schema_event_observers)
 
485
        BOOST_FOREACH(impl_c::schema_event_observers_t::reference it, impl_->schema_event_observers)
484
486
    plugin::EventObserver::deregisterSchemaEvents(it.second);
485
487
}
486
488
 
2195
2197
  impl_->properties.setProperty(arg, value);
2196
2198
}
2197
2199
 
 
2200
plugin::EventObserverList* Session::getSchemaObservers(const std::string &db_name)
 
2201
{
 
2202
  if (impl_c::schema_event_observers_t::mapped_type* i= find_ptr(impl_->schema_event_observers, db_name))
 
2203
    return *i;
 
2204
  return NULL;
 
2205
}
 
2206
 
 
2207
plugin::EventObserverList* Session::setSchemaObservers(const std::string &db_name, plugin::EventObserverList* observers)
 
2208
{
 
2209
  impl_->schema_event_observers.erase(db_name);
 
2210
  if (observers)
 
2211
    impl_->schema_event_observers[db_name] = observers;
 
2212
        return observers;
 
2213
}
2198
2214
my_xid Session::getTransactionId()
2199
2215
{
2200
2216
  return transaction.xid_state.xid.quick_get_my_xid();