~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/hello_events/hello_events.cc

  • Committer: Brian Aker
  • Date: 2010-10-10 19:32:58 UTC
  • Revision ID: brian@tangent.org-20101010193258-uvwhrqqpbd2e065x
Added support for pre/post triggers (this removes the need for the current
logging system I believe).

Add test cases to existing triggers.

Show diffs side-by-side

added added

removed removed

Lines of Context:
135
135
  fprintf(stderr, PLUGIN_NAME" EVENT observeAfterDropDatabase(%s) err = %d\n", data.db.c_str(), data.err);
136
136
}
137
137
 
 
138
//---
 
139
static void observeConnectSession(ConnectSessionEventData &data)
 
140
{
 
141
  fprintf(stderr, PLUGIN_NAME" EVENT observeConnectSession %d\n", static_cast<int>(data.session.getSessionId()));
 
142
}
 
143
 
 
144
//---
 
145
static void observeDisconnectSession(DisconnectSessionEventData &data)
 
146
{
 
147
  fprintf(stderr, PLUGIN_NAME" EVENT observeDisconnectSession %d\n", static_cast<int>(data.session.getSessionId()));
 
148
}
 
149
 
 
150
//---
 
151
static void observeBeforeStatement(BeforeStatementEventData &data)
 
152
{
 
153
  fprintf(stderr, PLUGIN_NAME" EVENT observeBeforeStatement %d\n", static_cast<int>(data.session.getSessionId()));
 
154
}
 
155
 
 
156
//---
 
157
static void observeAfterStatement(AfterStatementEventData &data)
 
158
{
 
159
  fprintf(stderr, PLUGIN_NAME" EVENT observeAfterStatement %d\n", static_cast<int>(data.session.getSessionId()));
 
160
}
 
161
 
138
162
HelloEvents::~HelloEvents()
139
163
{
140
164
  /* These are strdup'd in option processing */
181
205
    
182
206
  registerEvent(observers, AFTER_CREATE_DATABASE);
183
207
  registerEvent(observers, AFTER_DROP_DATABASE, sysvar_post_drop_db_position);
 
208
  registerEvent(observers, DISCONNECT_SESSION);
 
209
  registerEvent(observers, CONNECT_SESSION);
 
210
  registerEvent(observers, BEFORE_STATEMENT);
 
211
  registerEvent(observers, AFTER_STATEMENT);
184
212
}
185
213
 
186
214
 
231
259
    observeAfterDropDatabase((AfterDropDatabaseEventData &)data);
232
260
    break;
233
261
 
 
262
  case CONNECT_SESSION:
 
263
    observeConnectSession((ConnectSessionEventData &)data);
 
264
    break;
 
265
 
 
266
  case DISCONNECT_SESSION:
 
267
    observeDisconnectSession((DisconnectSessionEventData &)data);
 
268
    break;
 
269
 
 
270
  case BEFORE_STATEMENT:
 
271
    observeBeforeStatement((BeforeStatementEventData &)data);
 
272
    break;
 
273
 
 
274
  case AFTER_STATEMENT:
 
275
    observeAfterStatement((AfterStatementEventData &)data);
 
276
    break;
 
277
 
234
278
  default:
235
279
    fprintf(stderr, "HelloEvents: Unexpected event '%s'\n", EventObserver::eventName(data.event));
236
280
 
328
372
 
329
373
  else
330
374
  {
331
 
    sysvar_db_list= (char *)"";
 
375
    sysvar_db_list= strdup("");
332
376
  }
333
377
 
334
378
  if (vm.count("watch-tables"))
338
382
 
339
383
  else
340
384
  {
341
 
    sysvar_table_list= (char *)"";
 
385
    sysvar_table_list= strdup("");
342
386
  }
343
387
  hello_events= new HelloEvents(PLUGIN_NAME);
344
388