public function execute()
{
$this->results = array();
try {
$this->_connection->execute('BEGIN');
$this->_events->trigger('startTransaction', $this->_connection);
$this->_connection->execute('COMMIT');
$this->_events->trigger('commitTransaction', $this->_connection);
} catch (\Exception $e) {
$this->_connection->execute('ROLLBACK');
$this->_events->trigger('rollbackTransaction', $this->_connection);
throw $e;
}
return $this->results;
}