Public Member Functions | Protected Member Functions | Protected Attributes

Zend_Db_Adapter_Pdo_Oci Class Reference

Inheritance diagram for Zend_Db_Adapter_Pdo_Oci:
Zend_Db_Adapter_Pdo_Abstract Zend_Db_Adapter_Abstract

Public Member Functions

 quoteTableAs ($ident, $alias=null, $auto=false)
 listTables ()
 describeTable ($tableName, $schemaName=null)
 lastSequenceId ($sequenceName)
 nextSequenceId ($sequenceName)
 lastInsertId ($tableName=null, $primaryKey=null)
 limit ($sql, $count, $offset=0)

Protected Member Functions

 _dsn ()
 _quote ($value)

Protected Attributes

 $_pdoType = 'oci'
 $_defaultStmtClass = 'Zend_Db_Statement_Pdo_Oci'
 $_numericDataTypes

Detailed Description

Definition at line 39 of file Oci.php.


Member Function Documentation

_dsn (  ) [protected]

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

Returns:
string

Reimplemented from Zend_Db_Adapter_Pdo_Abstract.

Definition at line 81 of file Oci.php.

_quote ( value ) [protected]

Quote a raw string. Most PDO drivers have an implementation for the quote() method, but the Oracle OCI driver must use the same implementation as the Zend_Db_Adapter_Abstract class.

Parameters:
string$valueRaw string
Returns:
string Quoted string

Reimplemented from Zend_Db_Adapter_Pdo_Abstract.

Definition at line 117 of file Oci.php.

describeTable ( tableName,
schemaName = null 
)

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 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 IDENTITY => integer; true if column is auto-generated with unique values

Todo:
Discover integer unsigned property.
Parameters:
string$tableName
string$schemaNameOPTIONAL
Returns:
array

Use FETCH_NUM so we are not dependent on the CASE attribute of the PDO connection

Oracle does not support auto-increment keys.

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 180 of file Oci.php.

lastInsertId ( tableName = null,
primaryKey = null 
)

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

As a convention, on RDBMS brands that support sequences (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence from the arguments and returns the last id generated by that sequence. On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method returns the last value generated for such a column, and the table name argument is disregarded.

Oracle does not support IDENTITY columns, so if the sequence is not specified, this method returns null.

Parameters:
string$tableNameOPTIONAL Name of table.
string$primaryKeyOPTIONAL Name of primary key column.
Returns:
string
Exceptions:
Zend_Db_Adapter_Oracle_Exception

Reimplemented from Zend_Db_Adapter_Pdo_Abstract.

Definition at line 322 of file Oci.php.

lastSequenceId ( sequenceName )

Return the most recent value from the specified sequence in the database. This is supported only on RDBMS brands that support sequences (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null.

Parameters:
string$sequenceName
Returns:
integer

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 282 of file Oci.php.

limit ( sql,
count,
offset = 0 
)

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

Parameters:
string$sql
integer$count
integer$offset
Exceptions:
Zend_Db_Adapter_Exception
Returns:
string

See also:
Zend_Db_Adapter_Exception
Zend_Db_Adapter_Exception

Oracle does not implement the LIMIT clause as some RDBMS do. We have to simulate it with subqueries and ROWNUM. Unfortunately because we use the column wildcard "*", this puts an extra column into the query result set.

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 345 of file Oci.php.

listTables (  )

Returns a list of the tables in the database.

Returns:
array

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 144 of file Oci.php.

nextSequenceId ( sequenceName )

Generate a new value from the specified sequence in the database, and return it. This is supported only on RDBMS brands that support sequences (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null.

Parameters:
string$sequenceName
Returns:
integer

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 297 of file Oci.php.

quoteTableAs ( ident,
alias = null,
auto = false 
)

Quote a table identifier and alias.

Parameters:
string | array | Zend_Db_Expr$identThe identifier or expression.
string$aliasAn alias for the table.
Returns:
string The quoted identifier and alias.

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 133 of file Oci.php.


Field Documentation

$_numericDataTypes [protected]
Initial value:
 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,
        'BINARY_DOUBLE'      => Zend_Db::FLOAT_TYPE,
        'BINARY_FLOAT'       => Zend_Db::FLOAT_TYPE,
        'NUMBER'             => Zend_Db::FLOAT_TYPE
    )

Reimplemented from Zend_Db_Adapter_Abstract.

Definition at line 67 of file Oci.php.


The documentation for this class was generated from the following file: