Class DB_ibase

Description

The methods PEAR DB uses to interact with PHP's interbase extension for interacting with Interbase and Firebird databases

These methods overload the ones declared in DB_common.

While this class works with PHP 4, PHP's InterBase extension is unstable in PHP 4. Use PHP 5.

NOTICE: limitQuery() only works for Firebird.

Located in /web/lib/external/pear-db/DB/ibase.php (line 56)

PEAR
   |
   --DB_common
      |
      --DB_ibase
Variable Summary
 resource $connection
 string $dbsyntax
 array $dsn
 array $features
 resource $last_stmt
 string $phptype
Method Summary
 void DB_ibase ()
 int affectedRows ()
 int autoCommit ([bool $onoff = false])
 int commit ()
 int connect (array $dsn, [bool $persistent = false])
 int createSequence (string $seq_name)
 bool disconnect ()
 int dropSequence (string $seq_name)
 int errorCode ([int $nativecode = null])
 int errorNative ()
 object a &execute (resource $stmt, [mixed $data = array()])
 mixed fetchInto (resource $result,  &$arr, int $fetchmode, [int $rownum = null], array $arr)
 bool freePrepared (resource $stmt, [bool $free_resource = true])
 void freeQuery ( $query)
 bool freeResult (resource $result)
 string getSpecialQuery (string $type)
 object the &ibaseRaiseError ([int $errno = null])
 string modifyLimitQuery (string $query, int $from, int $count, [mixed $params = array()])
 int nextId (string $seq_name, [boolean $ondemand = true])
 true nextResult (a $result)
 int numCols (resource $result)
 mixed prepare (string $query)
 int rollback ()
 mixed simpleQuery (string $query)
 array tableInfo (object|string $result, [int $mode = null])
 void transactionInit ([ $trans_args = 0])
Variables
resource $connection (line 137)

The raw database connection created by PHP

string $dbsyntax = 'ibase' (line 70)

The database syntax variant to be used (db2, access, etc.), if any

array $dsn = array() (line 143)

The DSN information for connecting to a database

array $errorcode_map = array(
-104 => DB_ERROR_SYNTAX,
-150 => DB_ERROR_ACCESS_VIOLATION,
-151 => DB_ERROR_ACCESS_VIOLATION,
-155 => DB_ERROR_NOSUCHTABLE,
-157 => DB_ERROR_NOSUCHFIELD,
-158 => DB_ERROR_VALUE_COUNT_ON_ROW,
-170 => DB_ERROR_MISMATCH,
-171 => DB_ERROR_MISMATCH,
-172 => DB_ERROR_INVALID,
// -204 => // Covers too many errors, need to use regex on msg
-205 => DB_ERROR_NOSUCHFIELD,
-206 => DB_ERROR_NOSUCHFIELD,
-208 => DB_ERROR_INVALID,
-219 => DB_ERROR_NOSUCHTABLE,
-297 => DB_ERROR_CONSTRAINT,
-303 => DB_ERROR_INVALID,
-413 => DB_ERROR_INVALID_NUMBER,
-530 => DB_ERROR_CONSTRAINT,
-551 => DB_ERROR_ACCESS_VIOLATION,
-552 => DB_ERROR_ACCESS_VIOLATION,
// -607 => // Covers too many errors, need to use regex on msg
-625 => DB_ERROR_CONSTRAINT_NOT_NULL,
-803 => DB_ERROR_CONSTRAINT,
-804 => DB_ERROR_VALUE_COUNT_ON_ROW,
// -902 => // Covers too many errors, need to use regex on msg
-904 => DB_ERROR_CONNECT_FAILED,
-922 => DB_ERROR_NOSUCHDB,
-923 => DB_ERROR_CONNECT_FAILED,
-924 => DB_ERROR_CONNECT_FAILED
)
(line 101)

A mapping of native error codes to DB error codes

array $features = array(
'limit' => false,
'new_link' => false,
'numrows' => 'emulate',
'pconnect' => true,
'prepare' => true,
'ssl' => false,
'transactions' => true,
)
(line 87)

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
NOTE: only firebird supports limit.

resource $last_stmt (line 169)

The prepared statement handle from the most recently executed statement

string $phptype = 'ibase' (line 64)

The DB driver type (mysql, oci8, odbc, etc.)

Inherited Variables

Inherited from DB_common

DB_common::$fetchmode
DB_common::$fetchmode_object_class
DB_common::$last_parameters
DB_common::$last_query
DB_common::$options
DB_common::$prepared_queries
DB_common::$prepare_tokens
DB_common::$prepare_types
DB_common::$was_connected
DB_common::$_last_query_manip
DB_common::$_next_query_manip
Methods
Constructor DB_ibase (line 187)

This constructor calls $this->DB_common()

void DB_ibase ()
affectedRows (line 437)

Determines the number of rows affected by a data maniuplation query

  1. is returned for queries that don't manipulate data.

  • return: the number of rows. A DB_Error object on failure.
int affectedRows ()

Redefinition of:
DB_common::affectedRows()
Determines the number of rows affected by a data maniuplation query
autoCommit (line 646)

Enables or disables automatic commits

  • return: DB_OK on success. A DB_Error object if the driver doesn't support auto-committing transactions.
int autoCommit ([bool $onoff = false])
  • bool $onoff: true turns it on, false turns it off

Redefinition of:
DB_common::autoCommit()
Enables or disables automatic commits
commit (line 660)

Commits the current transaction

  • return: DB_OK on success. A DB_Error object on failure.
int commit ()

Redefinition of:
DB_common::commit()
Commits the current transaction
connect (line 215)

Connect to the database server, log in and open the database

Don't call this method directly. Use DB::connect() instead.

PEAR DB's ibase driver supports the following extra DSN options:

  • buffers The number of database buffers to allocate for the server-side cache.
  • charset The default character set for a database.
  • dialect The default SQL dialect for any statement executed within a connection. Defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up.
  • role Functional only with InterBase 5 and up.

  • return: DB_OK on success. A DB_Error object on failure.
int connect (array $dsn, [bool $persistent = false])
  • array $dsn: the data source name
  • bool $persistent: should the connection be persistent?
createSequence (line 745)

Creates a new sequence

int createSequence (string $seq_name)
  • string $seq_name: name of the new sequence

Redefinition of:
DB_common::createSequence()
Creates a new sequence
disconnect (line 258)

Disconnects from the database server

  • return: TRUE on success, FALSE on failure
bool disconnect ()
dropSequence (line 768)

Deletes a sequence

int dropSequence (string $seq_name)
  • string $seq_name: name of the sequence to be deleted

Redefinition of:
DB_common::dropSequence()
Deletes a sequence
errorCode (line 908)

Maps native error codes to DB's portable ones

  • return: the portable DB error code. Return DB_ERROR if the current driver doesn't have a mapping for the $nativecode submitted.
  • since: Method available since Release 1.7.0
int errorCode ([int $nativecode = null])
  • int $nativecode: the error code returned by the DBMS

Redefinition of:
DB_common::errorCode()
Maps native error codes to DB's portable ones
errorNative (line 882)

Gets the DBMS' native error code produced by the last query

  • return: the DBMS' error code. NULL if there is no error code.
  • since: Method available since Release 1.7.0
int errorNative ()

Redefinition of:
DB_common::errorNative()
Gets the DBMS' native error code produced by the last query
execute (line 551)

Executes a DB statement prepared with prepare().

object a &execute (resource $stmt, [mixed $data = array()])
  • resource $stmt: a DB statement resource returned from prepare()
  • mixed $data: array, string or numeric data to be used in execution of the statement. Quantity of items passed must match quantity of placeholders in query: meaning 1 for non-array items or the quantity of elements in the array.

Redefinition of:
DB_common::execute()
Executes a DB statement prepared with prepare()
fetchInto (line 369)

Places a row from the result set into the given array

Formating of the array and the data therein are configurable. See DB_result::fetchInto() for more information.

This method is not meant to be called directly. Use DB_result::fetchInto() instead. It can't be declared "protected" because DB_result is a separate object.

  • return: DB_OK on success, NULL when the end of a result set is reached or on failure
  • see: DB_result::fetchInto()
mixed fetchInto (resource $result,  &$arr, int $fetchmode, [int $rownum = null], array $arr)
  • resource $result: the query result resource
  • array $arr: the referenced array to put the data in
  • int $fetchmode: how the resulting array should be indexed
  • int $rownum: the row number to fetch (0 = first row)
  • &$arr
freePrepared (line 621)

Frees the internal resources associated with a prepared query

bool freePrepared (resource $stmt, [bool $free_resource = true])
  • resource $stmt: the prepared statement's PHP resource
  • bool $free_resource: should the PHP resource be freed too? Use false if you need to get data from the result set later.

Redefinition of:
DB_common::freePrepared()
Frees the internal resources associated with a prepared query
freeQuery (line 422)
void freeQuery ( $query)
  • $query
freeResult (line 414)

Deletes the result set and frees the memory occupied by the result set

This method is not meant to be called directly. Use DB_result::free() instead. It can't be declared "protected" because DB_result is a separate object.

bool freeResult (resource $result)
  • resource $result: PHP's query result resource
getSpecialQuery (line 1056)

Obtains the query string needed for listing a given type of objects

  • return: the SQL query string or null if the driver doesn't support the object type requested
  • see: DB_common::getListOf()
  • access: protected
string getSpecialQuery (string $type)
  • string $type: the kind of objects you want to retrieve

Redefinition of:
DB_common::getSpecialQuery()
Obtains the query string needed for listing a given type of objects
ibaseRaiseError (line 863)

Produces a DB_Error object regarding the current problem

object the &ibaseRaiseError ([int $errno = null])
  • int $errno: if the error is being manually raised pass a DB_ERROR* constant here. If this isn't passed the error information gathered from the DBMS.
modifyLimitQuery (line 320)

Adds LIMIT clauses to a query string according to current DBMS standards

Only works with Firebird.

  • return: the query string with LIMIT clauses added
  • access: protected
string modifyLimitQuery (string $query, int $from, int $count, [mixed $params = array()])
  • string $query: the query to modify
  • int $from: the row to start to fetching (0 = the first row)
  • int $count: the numbers of rows to fetch
  • mixed $params: array, string or numeric data to be used in execution of the statement. Quantity of items passed must match quantity of placeholders in query: meaning 1 placeholder for non-array parameters or 1 placeholder per array element.

Redefinition of:
DB_common::modifyLimitQuery()
Adds LIMIT clauses to a query string according to current DBMS standards
nextId (line 704)

Returns the next free id in a sequence

int nextId (string $seq_name, [boolean $ondemand = true])
  • string $seq_name: name of the sequence
  • boolean $ondemand: when true, the seqence is automatically created if it does not exist

Redefinition of:
DB_common::nextId()
Returns the next free id in a sequence
nextResult (line 341)

Move the internal ibase result pointer to the next available result

  • return: if a result is available otherwise return false
  • access: public
true nextResult (a $result)
  • a $result: valid fbsql result resource
numCols (line 461)

Gets the number of columns in a result set

This method is not meant to be called directly. Use DB_result::numCols() instead. It can't be declared "protected" because DB_result is a separate object.

int numCols (resource $result)
  • resource $result: PHP's query result resource
prepare (line 495)

Prepares a query for multiple execution with execute().

prepare() requires a generic query as string like

  1.     INSERT INTO numbers VALUES (???)
. The ? characters are placeholders.

Three types of placeholders can be used:

  • ? a quoted scalar value, i.e. strings, integers
  • ! value is inserted 'as is'
  • & requires a file name. The file's contents get inserted into the query (i.e. saving binary data in a db)
Use backslashes to escape placeholder characters if you don't want them to be interpreted as placeholders. Example:
  1.     "UPDATE foo SET col=? WHERE col='over \& under'"

  • return: DB statement resource on success. DB_Error on failure.
mixed prepare (string $query)
  • string $query: query to be prepared

Redefinition of:
DB_common::prepare()
Prepares a query for multiple execution with execute()
rollback (line 673)

Reverts the current transaction

  • return: DB_OK on success. A DB_Error object on failure.
int rollback ()

Redefinition of:
DB_common::rollback()
Reverts the current transaction
simpleQuery (line 277)

Sends a query to the database server

  • return: + a PHP result resrouce for successful SELECT queries
    • the DB_OK constant for other successful queries
    • a DB_Error object on failure
mixed simpleQuery (string $query)
  • string $query: the SQL query string
tableInfo (line 972)

Returns information about a table or a result set

NOTE: only supports 'table' and 'flags' if $result is a table name.

  • return: an associative array with the information requested. A DB_Error object on failure.
  • see: DB_common::tableInfo()
array tableInfo (object|string $result, [int $mode = null])
  • object|string $result: DB_result object from a query or a string containing the name of a table. While this also accepts a query result resource identifier, this behavior is deprecated.
  • int $mode: a valid tableInfo mode

Redefinition of:
DB_common::tableInfo()
Returns information about a table or a result set
transactionInit (line 681)
void transactionInit ([ $trans_args = 0])
  • $trans_args

Inherited Methods

Inherited From DB_common

 DB_common::DB_common()
 DB_common::affectedRows()
 DB_common::autoCommit()
 DB_common::autoExecute()
 DB_common::autoPrepare()
 DB_common::buildManipSQL()
 DB_common::commit()
 DB_common::createSequence()
 DB_common::dropSequence()
 DB_common::errorCode()
 DB_common::errorMessage()
 DB_common::errorNative()
 DB_common::escapeSimple()
 DB_common::execute()
 DB_common::executeEmulateQuery()
 DB_common::executeMultiple()
 DB_common::freePrepared()
 DB_common::getAll()
 DB_common::getAssoc()
 DB_common::getCol()
 DB_common::getListOf()
 DB_common::getOne()
 DB_common::getOption()
 DB_common::getRow()
 DB_common::getSequenceName()
 DB_common::getSpecialQuery()
 DB_common::getTables()
 DB_common::limitQuery()
 DB_common::modifyLimitQuery()
 DB_common::modifyQuery()
 DB_common::nextId()
 DB_common::nextQueryIsManip()
 DB_common::numRows()
 DB_common::prepare()
 DB_common::provides()
 DB_common::query()
 DB_common::quote()
 DB_common::quoteBoolean()
 DB_common::quoteFloat()
 DB_common::quoteIdentifier()
 DB_common::quoteSmart()
 DB_common::quoteString()
 DB_common::raiseError()
 DB_common::rollback()
 DB_common::setFetchMode()
 DB_common::setOption()
 DB_common::tableInfo()
 DB_common::toString()
 DB_common::_checkManip()
 DB_common::_convertNullArrayValuesToEmpty()
 DB_common::_rtrimArrayValues()
 DB_common::__sleep()
 DB_common::__toString()
 DB_common::__wakeup()

Inherited From PEAR

 PEAR::PEAR()
 PEAR::delExpect()
 PEAR::expectError()
 PEAR::getStaticProperty()
 PEAR::isError()
 PEAR::loadExtension()
 PEAR::popErrorHandling()
 PEAR::popExpect()
 PEAR::pushErrorHandling()
 PEAR::raiseError()
 PEAR::registerShutdownFunc()
 PEAR::setErrorHandling()
 PEAR::staticPopErrorHandling()
 PEAR::staticPushErrorHandling()
 PEAR::throwError()
 PEAR::_PEAR()

Documentation generated on Wed, 09 Feb 2011 09:01:30 +0700 by phpDocumentor 1.4.2