binary_log::Binary_log_event *Basic_transaction_parser::
process_event(binary_log::Query_event *qev)
{
  if (strncmp(qev->query, "BEGIN", strlen("BEGIN")) == 0)
  {
    m_transaction_state= STARTING;
  }
  else if (strncmp(qev->query, "COMMIT", strlen("COMMIT")) == 0)
  {
    m_transaction_state= COMMITTING;
  }

  return process_transaction_state(qev);
}
mysql::Binary_log_event *Basic_transaction_parser::process_event(mysql::Query_event *qev)
{
  if (qev->query == "BEGIN")
  {
    //std::cout << "Transaction has started!" << std::endl;
    m_transaction_state= STARTING;
  }
  else if (qev->query == "COMMIT")
  {
    m_transaction_state= COMMITTING;
  }

  return process_transaction_state(qev);
}
mysql::Binary_log_event *Basic_transaction_parser::
process_event(mysql::Query_event *qev)
{
  if (qev->query == "BEGIN")
  {
    m_transaction_state= STARTING;
  }
  else if (qev->query == "COMMIT")
  {
    m_transaction_state= COMMITTING;
  }

  return process_transaction_state(qev);
}
mysql::Binary_log_event *Basic_transaction_parser::process_event(mysql::Xid *ev)
{
  m_transaction_state= COMMITTING;
  return process_transaction_state(ev);
}