Db/Adapter/Pdo/Ibm.php

Show: PublicProtectedPrivateinherited
Table of Contents
Zend Framework
LICENSE This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  
Package
Zend_Db  
Subpackage
Adapter  
Version
$Id$  

\Zend_Db_Adapter_Pdo_Ibm

Package: Zend_Db\Adapter
Class for connecting to SQL databases and performing common operations using PDO.
Parent(s)
\Zend_Db_Adapter_Pdo_Abstract < \Zend_Db_Adapter_Abstract
Category
Zend  
Copyright
Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)  
License
New BSD License  

Properties

>VPropertyprotectedarray $_numericDataTypes = array(\Zend_Db::INT_TYPE => \Zend_Db::INT_TYPE, \Zend_Db::BIGINT_TYPE => \Zend_Db::BIGINT_TYPE, \Zend_Db::FLOAT_TYPE => \Zend_Db::FLOAT_TYPE, 'INTEGER' => \Zend_Db::INT_TYPE, 'SMALLINT' => \Zend_Db::INT_TYPE, 'BIGINT' => \Zend_Db::BIGINT_TYPE, 'DECIMAL' => \Zend_Db::FLOAT_TYPE, 'DEC' => \Zend_Db::FLOAT_TYPE, 'REAL' => \Zend_Db::FLOAT_TYPE, 'NUMERIC' => \Zend_Db::FLOAT_TYPE, 'DOUBLE PRECISION' => \Zend_Db::FLOAT_TYPE, 'FLOAT' => \Zend_Db::FLOAT_TYPE)
Keys are UPPERCASE SQL datatypes or the constants Zend_Db::INT_TYPE, Zend_Db::BIGINT_TYPE, or Zend_Db::FLOAT_TYPE.
Values are: 0 = 32-bit integer 1 = 64-bit integer 2 = float or decimal
Default valuearray(\Zend_Db::INT_TYPE => \Zend_Db::INT_TYPE, \Zend_Db::BIGINT_TYPE => \Zend_Db::BIGINT_TYPE, \Zend_Db::FLOAT_TYPE => \Zend_Db::FLOAT_TYPE, 'INTEGER' => \Zend_Db::INT_TYPE, 'SMALLINT' => \Zend_Db::INT_TYPE, 'BIGINT' => \Zend_Db::BIGINT_TYPE, 'DECIMAL' => \Zend_Db::FLOAT_TYPE, 'DEC' => \Zend_Db::FLOAT_TYPE, 'REAL' => \Zend_Db::FLOAT_TYPE, 'NUMERIC' => \Zend_Db::FLOAT_TYPE, 'DOUBLE PRECISION' => \Zend_Db::FLOAT_TYPE, 'FLOAT' => \Zend_Db::FLOAT_TYPE)Details
Type
array
>VPropertyprotectedstring $_pdoType = 'ibm'
PDO type.
Default value'ibm'Details
Type
string
>VPropertyprotectedstring $_serverType = null
The IBM data server connected to
Default valuenullDetails
Type
string

Methods

methodprotected_checkRequiredOptions(array $config) : void

Checks required options

Parameters
NameTypeDescription
$configarray
Throws
ExceptionDescription
\Zend_Db_Adapter_Exception
methodpublic_connect() : void

Creates a PDO object and connects to the database.

The IBM data server is set. Current options are DB2 or IDS
Throws
ExceptionDescription
\Zend_Db_Adapter_Exception
Details
Todo
also differentiate between z/OS and i/5  
methodprotected_dsn() : string

Creates a PDO DSN for the adapter from $this->_config settings.

Returns
TypeDescription
string
methodpublicdescribeTable(string $tableName, string $schemaName = null) : array

Returns the column descriptions for a table.

The return value is an associative array keyed by the column name, as returned by the RDBMS. The value of each array element is an associative array with the following keys: SCHEMA_NAME => string; name of database or schema TABLE_NAME => string; COLUMN_NAME => string; column name COLUMN_POSITION => number; ordinal position of column in table DATA_TYPE => string; SQL datatype name of column DEFAULT => string; default expression of column, null if none NULLABLE => boolean; true if column can have nulls LENGTH => number; length of CHAR/VARCHAR SCALE => number; scale of NUMERIC/DECIMAL PRECISION => number; precision of NUMERIC/DECIMAL UNSIGNED => boolean; unsigned property of an integer type PRIMARY => boolean; true if column is part of the primary key PRIMARY_POSITION => integer; position of column in primary key
Parameters
NameTypeDescription
$tableNamestring
$schemaNamestring

OPTIONAL

Returns
TypeDescription
array
Details
Todo
Discover integer unsigned property.  
methodpublicgetServerVersion() : string

Retrieve server version in PHP style Pdo_Idm doesn't support getAttribute(PDO::ATTR_SERVER_VERSION)

Returns
TypeDescription
string
methodpublicinsert(mixed $table, array $bind) : int

Inserts a table row with specified data.

Special handling for PDO_IBM remove empty slots
Parameters
NameTypeDescription
$tablemixed

The table to insert data into.

$bindarray

Column-value pairs.

Returns
TypeDescription
intThe number of affected rows.
methodpubliclastInsertId(string $tableName = null, string $primaryKey = null) : integer

Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.

Parameters
NameTypeDescription
$tableNamestring

OPTIONAL

$primaryKeystring

OPTIONAL

Returns
TypeDescription
integer
methodpubliclastSequenceId(string $sequenceName) : integer

Return the most recent value from the specified sequence in the database.

Parameters
NameTypeDescription
$sequenceNamestring
Returns
TypeDescription
integer
methodpubliclimit(string $sql, integer $count, integer $offset = 0) : string

Adds an adapter-specific LIMIT clause to the SELECT statement.

Parameters
NameTypeDescription
$sqlstring
$countinteger
$offsetinteger

OPTIONAL

Returns
TypeDescription
string
methodpubliclistTables() : array

Returns a list of the tables in the database.

Returns
TypeDescription
array
methodpublicnextSequenceId(string $sequenceName) : integer

Generate a new value from the specified sequence in the database, and return it.

Parameters
NameTypeDescription
$sequenceNamestring
Returns
TypeDescription
integer
methodpublicprepare(string $sql) : \PDOStatement

Prepares an SQL statement.

Parameters
NameTypeDescription
$sqlstring

The SQL statement with placeholders.

Returns
TypeDescription
\PDOStatement
Documentation was generated by phpDocumentor 2.2.0 .