Zend Framework  1.12
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Zend_Db_Adapter_Oracle Class Reference

Public Member Functions

 isConnected ()
 Test if a connection is active.
 
 closeConnection ()
 Force the connection to close.
 
 setLobAsString ($lobAsString)
 Activate/deactivate return of LOB as string.
 
 getLobAsString ()
 Return whether or not LOB are returned as string.
 
 prepare ($sql)
 Returns an SQL statement for preparation.
 
 quoteTableAs ($ident, $alias=null, $auto=false)
 Quote a table identifier and alias.
 
 lastSequenceId ($sequenceName)
 Return the most recent value from the specified sequence in the database.
 
 nextSequenceId ($sequenceName)
 Generate a new value from the specified sequence in the database, and return it.
 
 lastInsertId ($tableName=null, $primaryKey=null)
 Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.
 
 listTables ()
 Returns a list of the tables in the database.
 
 describeTable ($tableName, $schemaName=null)
 Returns the column descriptions for a table.
 
 setFetchMode ($mode)
 Set the fetch mode.
 
 limit ($sql, $count, $offset=0)
 Adds an adapter-specific LIMIT clause to the SELECT statement.
 
 _getExecuteMode ()
 
 supportsParameters ($type)
 Check if the adapter supports real SQL parameters.
 
 getServerVersion ()
 Retrieve server version in PHP style.
 
- Public Member Functions inherited from Zend_Db_Adapter_Abstract
 __construct ($config)
 Constructor.
 
 getConnection ()
 Returns the underlying database connection object or resource.
 
 getConfig ()
 Returns the configuration variables in this adapter.
 
 setProfiler ($profiler)
 Set the adapter's profiler object.
 
 getProfiler ()
 Returns the profiler for this adapter.
 
 getStatementClass ()
 Get the default statement class.
 
 setStatementClass ($class)
 Set the default statement class.
 
 query ($sql, $bind=array())
 Prepares and executes an SQL statement with bound data.
 
 beginTransaction ()
 Leave autocommit mode and begin a transaction.
 
 commit ()
 Commit a transaction and return to autocommit mode.
 
 rollBack ()
 Roll back a transaction and return to autocommit mode.
 
 insert ($table, array $bind)
 Inserts a table row with specified data.
 
 update ($table, array $bind, $where= '')
 Updates table rows with specified data based on a WHERE clause.
 
 delete ($table, $where= '')
 Deletes table rows based on a WHERE clause.
 
 select ()
 Creates and returns a new Zend_Db_Select object for this adapter.
 
 getFetchMode ()
 Get the fetch mode.
 
 fetchAll ($sql, $bind=array(), $fetchMode=null)
 Fetches all SQL result rows as a sequential array.
 
 fetchRow ($sql, $bind=array(), $fetchMode=null)
 Fetches the first row of the SQL result.
 
 fetchAssoc ($sql, $bind=array())
 Fetches all SQL result rows as an associative array.
 
 fetchCol ($sql, $bind=array())
 Fetches the first column of all SQL result rows as an array.
 
 fetchPairs ($sql, $bind=array())
 Fetches all SQL result rows as an array of key-value pairs.
 
 fetchOne ($sql, $bind=array())
 Fetches the first column of the first row of the SQL result.
 
 quote ($value, $type=null)
 Safely quotes a value for an SQL statement.
 
 quoteInto ($text, $value, $type=null, $count=null)
 Quotes a value and places into a piece of text at a placeholder.
 
 quoteIdentifier ($ident, $auto=false)
 Quotes an identifier.
 
 quoteColumnAs ($ident, $alias, $auto=false)
 Quote a column identifier and alias.
 
 quoteTableAs ($ident, $alias=null, $auto=false)
 Quote a table identifier and alias.
 
 getQuoteIdentifierSymbol ()
 Returns the symbol the adapter uses for delimited identifiers.
 
 lastSequenceId ($sequenceName)
 Return the most recent value from the specified sequence in the database.
 
 nextSequenceId ($sequenceName)
 Generate a new value from the specified sequence in the database, and return it.
 
 foldCase ($key)
 Helper method to change the case of the strings used when returning result sets in FETCH_ASSOC and FETCH_BOTH modes.
 
 __sleep ()
 called when object is getting serialized This disconnects the DB object that cant be serialized
 
 __wakeup ()
 called when object is getting unserialized
 
 listTables ()
 Abstract Methods.
 
 describeTable ($tableName, $schemaName=null)
 Returns the column descriptions for a table.
 
 isConnected ()
 Test if a connection is active.
 
 closeConnection ()
 Force the connection to close.
 
 prepare ($sql)
 Prepare a statement and return a PDOStatement-like object.
 
 lastInsertId ($tableName=null, $primaryKey=null)
 Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column.
 
 setFetchMode ($mode)
 Set the fetch mode.
 
 limit ($sql, $count, $offset=0)
 Adds an adapter-specific LIMIT clause to the SELECT statement.
 
 supportsParameters ($type)
 Check if the adapter supports real SQL parameters.
 
 getServerVersion ()
 Retrieve server version in PHP style.
 

Protected Member Functions

 _connect ()
 Creates a connection resource.
 
 _quote ($value)
 Quote a raw string.
 
 _beginTransaction ()
 Leave autocommit mode and begin a transaction.
 
 _commit ()
 Commit a transaction and return to autocommit mode.
 
 _rollBack ()
 Roll back a transaction and return to autocommit mode.
 
- Protected Member Functions inherited from Zend_Db_Adapter_Abstract
 _checkRequiredOptions (array $config)
 Check for config options that are mandatory.
 
 _whereExpr ($where)
 Convert an array, string, or Zend_Db_Expr object into a string to put in a WHERE clause.
 
 _quote ($value)
 Quote a raw string.
 
 _quoteIdentifierAs ($ident, $alias=null, $auto=false, $as= 'AS ')
 Quote an identifier and an optional alias.
 
 _quoteIdentifier ($value, $auto=false)
 Quote an identifier.
 
 _connect ()
 Creates a connection to the database.
 
 _beginTransaction ()
 Begin a transaction.
 
 _commit ()
 Commit a transaction.
 
 _rollBack ()
 Roll-back a transaction.
 

Protected Attributes

 $_config
 
 $_numericDataTypes
 
 $_execute_mode = null
 
 $_defaultStmtClass = 'Zend_Db_Statement_Oracle'
 
 $_lobAsString = null
 
- Protected Attributes inherited from Zend_Db_Adapter_Abstract
 $_config = array()
 
 $_fetchMode = Zend_Db::FETCH_ASSOC
 
 $_profiler
 
 $_defaultStmtClass = 'Zend_Db_Statement'
 
 $_defaultProfilerClass = 'Zend_Db_Profiler'
 
 $_connection = null
 
 $_caseFolding = Zend_Db::CASE_NATURAL
 
 $_autoQuoteIdentifiers = true
 
 $_numericDataTypes
 
 $_allowSerialization = true
 
 $_autoReconnectOnUnserialize = false
 

Member Function Documentation

_beginTransaction ( )
protected

Leave autocommit mode and begin a transaction.

Returns
void
_commit ( )
protected

Commit a transaction and return to autocommit mode.

Returns
void
Exceptions
Zend_Db_Adapter_Oracle_Exception
See Also
Zend_Db_Adapter_Oracle_Exception
_connect ( )
protected

Creates a connection resource.

Returns
void
Exceptions
Zend_Db_Adapter_Oracle_Exception
See Also
Zend_Db_Adapter_Oracle_Exception
Zend_Db_Adapter_Oracle_Exception
_getExecuteMode ( )
Returns
int
_quote (   $value)
protected

Quote a raw string.

Parameters
string$valueRaw string
Returns
string Quoted string
_rollBack ( )
protected

Roll back a transaction and return to autocommit mode.

Returns
void
Exceptions
Zend_Db_Adapter_Oracle_Exception
See Also
Zend_Db_Adapter_Oracle_Exception
closeConnection ( )

Force the connection to close.

Returns
void
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.

getLobAsString ( )

Return whether or not LOB are returned as string.

Returns
boolean
getServerVersion ( )

Retrieve server version in PHP style.

Returns
string
isConnected ( )

Test if a connection is active.

Returns
boolean
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
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
string
limit (   $sql,
  $count,
  $offset = 0 
)

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

Parameters
string$sql
integer$count
integer$offsetOPTIONAL
Returns
string
Exceptions
Zend_Db_Adapter_Oracle_Exception
See Also
Zend_Db_Adapter_Oracle_Exception
Zend_Db_Adapter_Oracle_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.

listTables ( )

Returns a list of the tables in the database.

Returns
array
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
string
prepare (   $sql)

Returns an SQL statement for preparation.

Parameters
string$sqlThe SQL statement with placeholders.
Returns
Zend_Db_Statement_Oracle
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.
boolean$autoIf true, heed the AUTO_QUOTE_IDENTIFIERS config option.
Returns
string The quoted identifier and alias.
setFetchMode (   $mode)

Set the fetch mode.

Todo:
Support FETCH_CLASS and FETCH_INTO.
Parameters
integer$modeA fetch mode.
Returns
void
Exceptions
Zend_Db_Adapter_Oracle_Exception
See Also
Zend_Db_Adapter_Oracle_Exception
Zend_Db_Adapter_Oracle_Exception
setLobAsString (   $lobAsString)

Activate/deactivate return of LOB as string.

Parameters
string$lob_as_string
Returns
Zend_Db_Adapter_Oracle
supportsParameters (   $type)

Check if the adapter supports real SQL parameters.

Parameters
string$type'positional' or 'named'
Returns
bool

Member Data Documentation

$_config
protected
Initial value:
= array(
'dbname' => null,
'username' => null,
'password' => null,
'persistent' => false
)
$_defaultStmtClass = 'Zend_Db_Statement_Oracle'
protected
$_execute_mode = null
protected
$_lobAsString = null
protected
$_numericDataTypes
protected