Source for file pgsql.dbresultset.php

Documentation is available at pgsql.dbresultset.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage db_driver
  5. @author     GĂ©rald Croes, Laurent Jouanneau
  6. @contributor Laurent Jouanneau
  7. @copyright  2001-2005 CopixTeam, 2005-2010 Laurent Jouanneau
  8. *  This class was get originally from the Copix project (CopixDBResultSetPostgreSQL, Copix 2.3dev20050901, http://www.copix.org)
  9. *  Few lines of code are still copyrighted 2001-2005 CopixTeam (LGPL licence).
  10. *  Initial authors of this Copix class are Gerald Croes and Laurent Jouanneau,
  11. *  and this class was adapted/improved for Jelix by Laurent Jouanneau
  12. *
  13. @link        http://www.jelix.org
  14. @licence  http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  15. */
  16.  
  17. /**
  18.  * @package    jelix
  19.  * @subpackage db_driver
  20.  */
  21. class pgsqlDbResultSet extends jDbResultSet {
  22.     protected $_stmtId;
  23.     protected $_cnt;
  24.  
  25.     function __construct ($idResult$stmtId null$cnt=null{
  26.         $this->_idResult = $idResult;
  27.         $this->_stmtId = $stmtId;
  28.         $this->_cnt = $cnt;
  29.     }
  30.  
  31.     public function fetch({
  32.         if ($this->_fetchMode == jDbConnection::FETCH_CLASS{
  33.             if ($this->_fetchModeCtoArgs)
  34.                 $res pg_fetch_object ($this->_idResult-$this->_fetchModeParam$this->_fetchModeCtoArgs);
  35.             else
  36.                 $res pg_fetch_object ($this->_idResult-$this->_fetchModeParam);
  37.         }
  38.         else if ($this->_fetchMode == jDbConnection::FETCH_INTO{
  39.              $res pg_fetch_object ($this->_idResult);
  40.             $values get_object_vars ($res);
  41.             $res $this->_fetchModeParam;
  42.             foreach ($values as $k=>$value{
  43.                 $res->$k $value;
  44.             }
  45.         }
  46.         else {
  47.             $res pg_fetch_object ($this->_idResult);
  48.         }
  49.  
  50.         if ($res && count($this->modifier)) {
  51.             foreach($this->modifier as $m)
  52.                 call_user_func_array($marray($res$this));
  53.          }
  54.         return $res;
  55.     }
  56.  
  57.     protected function _fetch()}
  58.  
  59.     protected function _free (){
  60.         return pg_free_result ($this->_idResult);
  61.     }
  62.  
  63.     protected function _rewind (){
  64.         return pg_result_seek $this->_idResult);
  65.     }
  66.  
  67.     public  function rowCount(){
  68.         return pg_num_rows($this->_idResult);
  69.     }
  70.  
  71.     public function bindColumn($column&$param $type=null )
  72.       {throw new jException('jelix~db.error.feature.unsupported'array('pgsql','bindColumn'))}
  73.     public function bindParam($parameter&$variable $data_type =null$length=null,  $driver_options=null)
  74.        {throw new jException('jelix~db.error.feature.unsupported'array('pgsql','bindParam'))}
  75.     public function bindValue($parameter$value$data_type)
  76.        {throw new jException('jelix~db.error.feature.unsupported'array('pgsql','bindValue'))}
  77.  
  78.     public function columnCount({
  79.         return pg_num_fields($this->_idResult);
  80.     }
  81.  
  82.     public function execute($parameters=array()) {
  83.         $this->_idResultpg_execute($this->_cnt,$this->_stmtId$parameters);
  84.         return true;
  85.     }
  86.  
  87.     public function unescapeBin($text{
  88.         return pg_unescape_bytea($text);
  89.     }
  90. }

Documentation generated on Mon, 19 Sep 2011 14:14:09 +0200 by phpDocumentor 1.4.3