~vlad-lesin/percona-playback/session_init_query

« back to all changes in this revision

Viewing changes to percona_playback/db_thread.cc

  • Committer: Vlad Lesin
  • Date: 2012-11-14 11:44:59 UTC
  • Revision ID: vladislav.lesin@percona.com-20121114114459-yam9imt3040azoig
--session-init-query option is added. It allows to execute some query just
after connection is established. This can be used for example to init some
session variables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
#include "config.h"
17
17
 
18
18
#include <percona_playback/db_thread.h>
 
19
#include "percona_playback/query_result.h"
19
20
 
20
21
#include <assert.h>
21
22
 
22
23
#include <boost/bind.hpp>
23
24
 
 
25
extern std::string g_session_init_query;
 
26
 
 
27
void DBThread::connect_and_init_session()
 
28
{
 
29
  connect();
 
30
  if (!g_session_init_query.empty())
 
31
  {
 
32
    QueryResult r;
 
33
    QueryResult er;
 
34
    execute_query(g_session_init_query, &r, er);
 
35
  }
 
36
}
 
37
 
24
38
void DBThread::run()
25
39
{
26
 
  connect();
 
40
  connect_and_init_session();
27
41
 
28
42
  QueryEntryPtr query;
29
43
  while (true)
36
50
    if (query->is_quit())
37
51
    {
38
52
      disconnect();
39
 
      connect();
 
53
      connect_and_init_session();
40
54
      continue;
41
55
    }
42
56