forked from GNUsocial/gnu-social
1136 lines
36 KiB
PHP
1136 lines
36 KiB
PHP
|
<?php
|
||
|
|
||
|
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||
|
|
||
|
/**
|
||
|
* The PEAR DB driver for PHP's pgsql extension
|
||
|
* for interacting with PostgreSQL databases
|
||
|
*
|
||
|
* PHP versions 4 and 5
|
||
|
*
|
||
|
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
||
|
* that is available through the world-wide-web at the following URI:
|
||
|
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
||
|
* the PHP License and are unable to obtain it through the web, please
|
||
|
* send a note to license@php.net so we can mail you a copy immediately.
|
||
|
*
|
||
|
* @category Database
|
||
|
* @package DB
|
||
|
* @author Rui Hirokawa <hirokawa@php.net>
|
||
|
* @author Stig Bakken <ssb@php.net>
|
||
|
* @author Daniel Convissor <danielc@php.net>
|
||
|
* @copyright 1997-2007 The PHP Group
|
||
|
* @license http://www.php.net/license/3_0.txt PHP License 3.0
|
||
|
* @version CVS: $Id: pgsql.php,v 1.139 2007/11/28 02:19:44 aharvey Exp $
|
||
|
* @link http://pear.php.net/package/DB
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Obtain the DB_common class so it can be extended from
|
||
|
*/
|
||
|
require_once 'DB/common.php';
|
||
|
|
||
|
/**
|
||
|
* The methods PEAR DB uses to interact with PHP's pgsql extension
|
||
|
* for interacting with PostgreSQL databases
|
||
|
*
|
||
|
* These methods overload the ones declared in DB_common.
|
||
|
*
|
||
|
* @category Database
|
||
|
* @package DB
|
||
|
* @author Rui Hirokawa <hirokawa@php.net>
|
||
|
* @author Stig Bakken <ssb@php.net>
|
||
|
* @author Daniel Convissor <danielc@php.net>
|
||
|
* @copyright 1997-2007 The PHP Group
|
||
|
* @license http://www.php.net/license/3_0.txt PHP License 3.0
|
||
|
* @version Release: 1.7.14RC1
|
||
|
* @link http://pear.php.net/package/DB
|
||
|
*/
|
||
|
class DB_pgsql extends DB_common
|
||
|
{
|
||
|
// {{{ properties
|
||
|
|
||
|
/**
|
||
|
* The DB driver type (mysql, oci8, odbc, etc.)
|
||
|
* @var string
|
||
|
*/
|
||
|
var $phptype = 'pgsql';
|
||
|
|
||
|
/**
|
||
|
* The database syntax variant to be used (db2, access, etc.), if any
|
||
|
* @var string
|
||
|
*/
|
||
|
var $dbsyntax = 'pgsql';
|
||
|
|
||
|
/**
|
||
|
* The capabilities of this DB implementation
|
||
|
*
|
||
|
* The 'new_link' element contains the PHP version that first provided
|
||
|
* new_link support for this DBMS. Contains false if it's unsupported.
|
||
|
*
|
||
|
* Meaning of the 'limit' element:
|
||
|
* + 'emulate' = emulate with fetch row by number
|
||
|
* + 'alter' = alter the query
|
||
|
* + false = skip rows
|
||
|
*
|
||
|
* @var array
|
||
|
*/
|
||
|
var $features = array(
|
||
|
'limit' => 'alter',
|
||
|
'new_link' => '4.3.0',
|
||
|
'numrows' => true,
|
||
|
'pconnect' => true,
|
||
|
'prepare' => false,
|
||
|
'ssl' => true,
|
||
|
'transactions' => true,
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
* A mapping of native error codes to DB error codes
|
||
|
* @var array
|
||
|
*/
|
||
|
var $errorcode_map = array(
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
* The raw database connection created by PHP
|
||
|
* @var resource
|
||
|
*/
|
||
|
var $connection;
|
||
|
|
||
|
/**
|
||
|
* The DSN information for connecting to a database
|
||
|
* @var array
|
||
|
*/
|
||
|
var $dsn = array();
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Should data manipulation queries be committed automatically?
|
||
|
* @var bool
|
||
|
* @access private
|
||
|
*/
|
||
|
var $autocommit = true;
|
||
|
|
||
|
/**
|
||
|
* The quantity of transactions begun
|
||
|
*
|
||
|
* {@internal While this is private, it can't actually be designated
|
||
|
* private in PHP 5 because it is directly accessed in the test suite.}}
|
||
|
*
|
||
|
* @var integer
|
||
|
* @access private
|
||
|
*/
|
||
|
var $transaction_opcount = 0;
|
||
|
|
||
|
/**
|
||
|
* The number of rows affected by a data manipulation query
|
||
|
* @var integer
|
||
|
*/
|
||
|
var $affected = 0;
|
||
|
|
||
|
/**
|
||
|
* The current row being looked at in fetchInto()
|
||
|
* @var array
|
||
|
* @access private
|
||
|
*/
|
||
|
var $row = array();
|
||
|
|
||
|
/**
|
||
|
* The number of rows in a given result set
|
||
|
* @var array
|
||
|
* @access private
|
||
|
*/
|
||
|
var $_num_rows = array();
|
||
|
|
||
|
|
||
|
// }}}
|
||
|
// {{{ constructor
|
||
|
|
||
|
/**
|
||
|
* This constructor calls <kbd>$this->DB_common()</kbd>
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
function DB_pgsql()
|
||
|