~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/event_observer.cc

  • Committer: Brian Aker
  • Date: 2010-12-27 20:04:50 UTC
  • mto: (2060.2.1 clean)
  • mto: This revision was merged to the branch mainline in revision 2063.
  • Revision ID: brian@tangent.org-20101227200450-dmxpemwyfmlinlnm
Merge in first pass.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 * 2010-05-12
22
22
 */
23
23
 
24
 
#include <config.h>
 
24
#include "config.h"
25
25
 
26
26
#include <string>
27
27
#include <vector>
28
28
 
29
 
#include <drizzled/session.h>
30
 
#include <drizzled/table_list.h>
31
 
#include <drizzled/table/instance.h>
32
 
#include <drizzled/module/registry.h>
33
 
#include <drizzled/plugin/event_observer.h>
 
29
#include "drizzled/session.h"
 
30
#include "drizzled/table_list.h"
 
31
#include "drizzled/definition/table.h"
 
32
#include "drizzled/module/registry.h"
 
33
#include "drizzled/plugin/event_observer.h"
34
34
#include <drizzled/util/functors.h>
35
35
#include <algorithm>
36
36
 
129
129
      {
130
130
        if (observers->find(event_pos) != observers->end())
131
131
        {
132
 
          errmsg_printf(error::WARN,
 
132
          errmsg_printf(ERRMSG_LVL_WARN,
133
133
                        _("EventObserverList::addEventObserver() Duplicate event position %d for event '%s' from EventObserver plugin '%s'"),
134
134
                        position,
135
135
                        EventObserver::eventName(event), 
196
196
 
197
197
    if (observers != NULL) 
198
198
                {
199
 
                        errmsg_printf(error::WARN,
 
199
                        errmsg_printf(ERRMSG_LVL_WARN,
200
200
                                                                        _("EventObserver::registerTableEvents(): Table already has events registered on it: probable programming error."));
201
201
                        table_share.setTableObservers(NULL);
202
202
      delete observers;
331
331
 
332
332
    observers= session.getSessionObservers();
333
333
                if (observers) { // This should not happed
334
 
                        errmsg_printf(error::WARN,
 
334
                        errmsg_printf(ERRMSG_LVL_WARN,
335
335
                                                                        _("EventObserver::registerSessionEvents(): Session already has events registered on it: probable programming error."));
336
336
                        session.setSessionObservers(NULL);
337
337
                        delete observers;
383
383
      {
384
384
        /* TRANSLATORS: The leading word "EventObserver" is the name
385
385
          of the plugin api, and so should not be translated. */
386
 
        errmsg_printf(error::ERROR,
 
386
        errmsg_printf(ERRMSG_LVL_ERROR,
387
387
                      _("EventIterate event handler '%s' failed for event '%s'"),
388
388
                      handler.second->getName().c_str(), handler.second->eventName(data.event));
389
389
 
430
430
    return EventData::callEventObservers();
431
431
  }
432
432
 
433
 
  bool SessionEventData::hasEvents(Session &in_session)
434
 
  {
435
 
    return (in_session.getSessionObservers() != NULL);
436
 
  }
437
 
 
438
433
  //--------
439
434
  bool SchemaEventData::callEventObservers()
440
435
  {
456
451
    return EventData::callEventObservers();
457
452
  }
458
453
 
459
 
  bool TableEventData::hasEvents(Table &in_table)
460
 
  {
461
 
    return (in_table.getMutableShare()->getTableObservers() != NULL);
462
 
  }
463
 
 
464
454
  /*==========================================================*/
465
455
  /* Static meathods called by drizzle to notify interested plugins 
466
456
   * of a schema event.
467
457
 */
468
 
  bool EventObserver::beforeDropTable(Session &session, const drizzled::identifier::Table &table)
 
458
  bool EventObserver::beforeDropTable(Session &session, const drizzled::TableIdentifier &table)
469
459
  {
470
460
    if (all_event_plugins.empty())
471
461
      return false;
474
464
    return eventData.callEventObservers();
475
465
  }
476
466
 
477
 
  bool EventObserver::afterDropTable(Session &session, const drizzled::identifier::Table &table, int err)
 
467
  bool EventObserver::afterDropTable(Session &session, const drizzled::TableIdentifier &table, int err)
478
468
  {
479
469
    if (all_event_plugins.empty())
480
470
      return false;
483
473
    return eventData.callEventObservers();
484
474
  }
485
475
 
486
 
  bool EventObserver::beforeRenameTable(Session &session, const drizzled::identifier::Table &from, const drizzled::identifier::Table &to)
 
476
  bool EventObserver::beforeRenameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to)
487
477
  {
488
478
    if (all_event_plugins.empty())
489
479
      return false;
492
482
    return eventData.callEventObservers();
493
483
  }
494
484
 
495
 
  bool EventObserver::afterRenameTable(Session &session, const drizzled::identifier::Table &from, const drizzled::identifier::Table &to, int err)
 
485
  bool EventObserver::afterRenameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to, int err)
496
486
  {
497
487
    if (all_event_plugins.empty())
498
488
      return false;