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     Croes GĂ©rald, 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.         if ($res && count($this->modifier)) {
  50.             foreach($this->modifier as $m)
  51.                 call_user_func_array($marray($res$this));
  52.         }
  53.         return $res;
  54.     }
  55.  
  56.     protected function _fetch()}
  57.  
  58.     protected function _free (){
  59.         return pg_free_result ($this->_idResult);
  60.     }
  61.  
  62.     protected function _rewind (){
  63.         return pg_result_seek $this->_idResult);
  64.     }
  65.  
  66.     public  function rowCount(){
  67.         return pg_num_rows($this->_idResult);
  68.     }
  69.  
  70.     public function bindColumn($column&$param $type=null )
  71.       {throw new jException('jelix~db.error.feature.unsupported'array('pgsql','bindColumn'))}
  72.     public function bindParam($parameter&$variable $data_type =null$length=null,  $driver_options=null)
  73.        {throw new jException('jelix~db.error.feature.unsupported'array('pgsql','bindParam'))}
  74.     public function bindValue($parameter$value$data_type)
  75.        {throw new jException('jelix~db.error.feature.unsupported'array('pgsql','bindValue'))}
  76.  
  77.     public function columnCount(){
  78.         return pg_num_fields($this->_idResult);
  79.     }
  80.  
  81.     public function execute($parameters=array()){
  82.         $this->_idResult = pg_execute($this->_cnt,$this->_stmtId$parameters);
  83.         return true;
  84.     }
  85.  
  86.     public function unescapeBin($text{
  87.         return pg_unescape_bytea($text);
  88.     }
  89. }

Documentation generated on Thu, 22 Mar 2012 22:18:02 +0100 by phpDocumentor 1.4.3