~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.h

update

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
#include <drizzled/util/storable.h>
65
65
#include <drizzled/var.h>
66
66
#include <drizzled/visibility.h>
 
67
#include <drizzled/util/find_ptr.h>
67
68
#include <drizzled/type/time.h>
68
69
#include <drizzled/sql_lex.h>
69
70
 
70
 
 
71
71
#define MIN_HANDSHAKE_SIZE      6
72
72
 
73
73
namespace drizzled
1400
1400
  plugin::EventObserverList *session_event_observers;
1401
1401
  
1402
1402
  /* Schema observers are mapped to databases. */
1403
 
  std::map<std::string, plugin::EventObserverList *> schema_event_observers;
 
1403
  typedef std::map<std::string, plugin::EventObserverList*> schema_event_observers_t;
 
1404
  schema_event_observers_t schema_event_observers;
1404
1405
 
1405
1406
 
1406
1407
public:
1417
1418
  /* For schema event observers there is one set of observers per database. */
1418
1419
  plugin::EventObserverList *getSchemaObservers(const std::string &db_name) 
1419
1420
  { 
1420
 
    std::map<std::string, plugin::EventObserverList *>::iterator it;
1421
 
    
1422
 
    it= schema_event_observers.find(db_name);
1423
 
    if (it == schema_event_observers.end())
1424
 
      return NULL;
1425
 
      
1426
 
    return it->second;
 
1421
    if (schema_event_observers_t::mapped_type* i= find_ptr(schema_event_observers, db_name))
 
1422
      return *i;
 
1423
    return NULL;
1427
1424
  }
1428
1425
  
1429
1426
  void setSchemaObservers(const std::string &db_name, plugin::EventObserverList *observers) 
1430
1427
  { 
1431
 
    std::map<std::string, plugin::EventObserverList *>::iterator it;
1432
 
 
1433
 
    it= schema_event_observers.find(db_name);
1434
 
    if (it != schema_event_observers.end())
1435
 
      schema_event_observers.erase(it);;
1436
 
 
 
1428
    schema_event_observers.erase(db_name);
1437
1429
    if (observers)
1438
1430
      schema_event_observers[db_name] = observers;
1439
1431
  }