/**
  * Prepare a statement and return a PDOStatement-like object.
  *
  * @param string|Zend_Db_Select $sql SQL query
  * @return Zend_Db_Statment|PDOStatement
  */
 public function prepare($sql)
 {
     $queryId = $this->getProfiler()->queryStart($sql);
     if (count($this->_statementStack)) {
         $stmt = array_pop($this->_statementStack);
     } else {
         $stmt = new Zend_Test_DbStatement();
     }
     if ($this->getProfiler()->getEnabled() == true) {
         $qp = $this->getProfiler()->getQueryProfile($queryId);
         $stmt->setQueryProfile($qp);
     }
     return $stmt;
 }