Example #1
0
 /**
  * @ignore
  */
 public function dataset()
 {
     $this->connectionOpen();
     $uProps = func_get_args();
     $uDataset = Database::getDataset(array_shift($uProps));
     if ($uDataset->transaction) {
         $this->beginTransaction();
     }
     try {
         $tCount = 0;
         $tArray = array();
         foreach ($uDataset->parameters as $tParam) {
             $tArray[$tParam] = $uProps[$tCount++];
         }
         try {
             $tResult = $this->query($uDataset->queryString, $tArray);
             //! todo: add caching
         } catch (\Exception $ex) {
             if ($this->errorHandling === Database::ERROR_EXCEPTION) {
                 throw $ex;
             }
             $tResult = false;
         }
         if ($uDataset->transaction) {
             $this->commit();
         }
     } catch (\Exception $ex) {
         if ($uDataset->transaction) {
             $this->rollBack();
         }
         throw $ex;
     }
     ++$this->stats['query'];
     if (isset($tResult)) {
         return $tResult;
     }
     return false;
 }