/**
  * Determines if the query should be previewed, and thus interrupted silently.
  * If so, this function also displays the query via the debuging system.
  * Subclasess should respect the results of this call for each query, and not
  * execute any queries that generate a true response.
  *
  * @param string $sql The query to be executed
  * @return boolean Flag indicating that the query was previewed
  */
 protected function previewWrite($sql)
 {
     // Only preview if previewWrite is set, we are in dev mode, and
     // the query is mutable
     if (isset($_REQUEST['previewwrite']) && Director::isDev() && $this->connector->isQueryMutable($sql)) {
         // output preview message
         Debug::message("Will execute: {$sql}");
         return true;
     } else {
         return false;
     }
 }