public function execute_logged($message, $tag, $module, array $variables = array(), $uid = 0, $referrer = '', $host = '', $timestamp = 0)
 {
     $transaction = Transaction::is_in_transaction() ? null : \db_transaction();
     try {
         $retval = parent::execute();
         if (!Transaction::is_in_transaction()) {
             \cvwobase_add_audit($message, $tag, $module, $variables, $uid, $referrer, $host, $timestamp);
         }
     } catch (Exception $e) {
         if (!empty($transaction)) {
             $transaction->rollback();
         }
         throw $e;
     }
     return $retval;
 }
 public function __destruct()
 {
     if (!$this->rolledBack) {
         cvwobase_add_audit($this->message, $this->tag, $this->module, $this->variables);
     }
 }