Path

ez components / documentation / api reference / 1.1 / database


eZ Components 1.1

Database: ezcDbHandler

[ Tutorial ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcDbHandler

Defines interface for all the database drivers implementations. [source]
ezcDbHandler provides some functionality that is not present in PDO.
  • handling of offset/limit in a datbase independent way
  • correct recursive handling of transactions

Parents

PDO
   |
   --ezcDbHandler

Descendents

Child Class Description
ezcDbHandlerOracle Oracle driver implementation
ezcDbHandlerSqlite SQLite driver implementation
ezcDbHandlerPgsql PostgreSQL driver implementation
ezcDbHandlerMysql MySQL driver implementation

Inherited Constants

From PDO (Internal Class):
ATTR_AUTOCOMMIT = 0
ATTR_CASE = 8
ATTR_CLIENT_VERSION = 5
ATTR_CONNECTION_STATUS = 7
ATTR_CURSOR = 10
ATTR_CURSOR_NAME = 9
ATTR_DRIVER_NAME = 16
ATTR_EMULATE_PREPARES = 19
ATTR_ERRMODE = 3
ATTR_FETCH_CATALOG_NAMES = 15
ATTR_FETCH_TABLE_NAMES = 14
ATTR_MAX_COLUMN_LEN = 18
ATTR_ORACLE_NULLS = 11
ATTR_PERSISTENT = 12
ATTR_PREFETCH = 1
ATTR_SERVER_INFO = 6
ATTR_SERVER_VERSION = 4
ATTR_STATEMENT_CLASS = 13
ATTR_STRINGIFY_FETCHES = 17
ATTR_TIMEOUT = 2
CASE_LOWER = 2
CASE_NATURAL = 0
CASE_UPPER = 1
CURSOR_FWDONLY = 0
CURSOR_SCROLL = 1
ERRMODE_EXCEPTION = 2
ERRMODE_SILENT = 0
ERRMODE_WARNING = 1
ERR_NONE = '00000'
FETCH_ASSOC = 2
FETCH_BOTH = 4
FETCH_BOUND = 6
FETCH_CLASS = 8
FETCH_CLASSTYPE = 262144
FETCH_COLUMN = 7
FETCH_FUNC = 10
FETCH_GROUP = 65536
FETCH_INTO = 9
FETCH_LAZY = 1
FETCH_NAMED = 11
FETCH_NUM = 3
FETCH_OBJ = 5
FETCH_ORI_ABS = 4
FETCH_ORI_FIRST = 2
FETCH_ORI_LAST = 3
FETCH_ORI_NEXT = 0
FETCH_ORI_PRIOR = 1
FETCH_ORI_REL = 5
FETCH_SERIALIZE = 524288
FETCH_UNIQUE = 196608
MYSQL_ATTR_DIRECT_QUERY = 1006
MYSQL_ATTR_INIT_COMMAND = 1002
MYSQL_ATTR_LOCAL_INFILE = 1001
MYSQL_ATTR_MAX_BUFFER_SIZE = 1005
MYSQL_ATTR_READ_DEFAULT_FILE = 1003
MYSQL_ATTR_READ_DEFAULT_GROUP = 1004
MYSQL_ATTR_USE_BUFFERED_QUERY = 1000
NULL_EMPTY_STRING = 1
NULL_NATURAL = 0
NULL_TO_STRING = 2
PARAM_BOOL = 5
PARAM_EVT_ALLOC = 0
PARAM_EVT_EXEC_POST = 3
PARAM_EVT_EXEC_PRE = 2
PARAM_EVT_FETCH_POST = 5
PARAM_EVT_FETCH_PRE = 4
PARAM_EVT_FREE = 1
PARAM_EVT_NORMALIZE = 6
PARAM_INPUT_OUTPUT = -2147483648
PARAM_INT = 1
PARAM_LOB = 3
PARAM_NULL = 0
PARAM_STMT = 4
PARAM_STR = 2

Member Variables

protected bool $transactionErrorFlag = false
This flag is set to true when an SQL query has failed.
protected int $transactionNestingLevel = 0
Stores the transaction nesting level.

Method Summary

public ezcDbHandler __construct( $dbParams, $dsn )
Constructs a handler object.
public bool beginTransaction( )
Begins a transaction.
public bool commit( )
Commits a transaction.
public ezcQueryDelete createDeleteQuery( )
Returns a new ezcQueryDelete derived object for the correct database type.
public ezcQueryExpression createExpression( )
Returns a new ezcQueryExpression derived object for the correct database type.
public ezcQueryInsert createInsertQuery( )
Returns a new ezcQueryInsert derived object for the correct database type.
public ezcQuerySelect createSelectQuery( )
Returns a new ezcQuerySelect derived object for the correct database type.
public ezcQueryUpdate createUpdateQuery( )
Returns a new ezcQueryUpdate derived object for the correct database type.
public ezcDbUtilities createUtilities( )
Returns a new ezcUtilities derived object for the correct database type.
public static bool hasFeature( $feature )
Returns true if the given $feature is supported by the handler.
public bool rollback( )
Rollback a transaction.

Inherited Methods

From PDO (Internal Class) :
public PDO constructor __construct ( )
public void beginTransaction ( )
public void commit ( )
public void errorCode ( )
public void errorInfo ( )
public void exec ( )
public void getAttribute ( )
public void getAvailableDrivers ( )
public void lastInsertId ( )
public void prepare ( )
public void query ( )
public void quote ( )
public void rollBack ( )
public void setAttribute ( )
public void __sleep ( )
public void __wakeup ( )

Methods

__construct

ezcDbHandler __construct( array $dbParams, string $dsn )
Constructs a handler object.
note: Remember to always call this constructor from constructor of a derived class!

Parameters

Name Type Description
$dbParams array Misc database connection parameters.
$dsn string Data Source Name, generated by constructor of a derived class.

See also:

PDO::__construct().

Redefinition of

Method Description
PDO::constructor __construct ( )  

Redefined in descendants as

Method Description
ezcDbHandlerOracle::__construct() Constructs a handler object from the parameters $dbParams.
ezcDbHandlerSqlite::__construct() Constructs a handler object from the parameters $dbParams.
ezcDbHandlerPgsql::__construct() Constructs a handler object from the parameters $dbParams.
ezcDbHandlerMysql::__construct() Constructs a handler object from the parameters $dbParams.

beginTransaction

bool beginTransaction( )
Begins a transaction.
This method executes a begin transaction query unless a transaction has already been started (transaction nesting level > 0 )
Each call to begin() must have a corresponding commit() or rollback() call.

See also:

ezcDbHandler::rollback()ezcDbHandler::commit().

Redefinition of

Method Description
PDO::beginTransaction ( )  

commit

bool commit( )
Commits a transaction.
If this this call to commit corresponds to the outermost call to begin() and all queries within this transaction were successful, a commit query is executed. If one of the queries returned with an error, a rollback query is executed instead.
This method returns true if the transaction was successful. If the transaction failed and rollback was called, false is returned.

See also:

ezcDbHandler::rollback(), begin().

Redefinition of

Method Description
PDO::commit ( )  

createDeleteQuery

ezcQueryDelete createDeleteQuery( )
Returns a new ezcQueryDelete derived object for the correct database type.

createExpression

ezcQueryExpression createExpression( )
Returns a new ezcQueryExpression derived object for the correct database type.

Redefined in descendants as

Method Description
ezcDbHandlerOracle::createExpression() Returns a new ezcQueryExpression derived object with Oracle implementation specifics.
ezcDbHandlerSqlite::createExpression() Returns a new ezcQueryExpression derived object with SQLite implementation specifics.
ezcDbHandlerPgsql::createExpression() Returns a new ezcQueryExpression derived object with PostgreSQL implementation specifics.

createInsertQuery

ezcQueryInsert createInsertQuery( )
Returns a new ezcQueryInsert derived object for the correct database type.

createSelectQuery

ezcQuerySelect createSelectQuery( )
Returns a new ezcQuerySelect derived object for the correct database type.

Redefined in descendants as

Method Description
ezcDbHandlerOracle::createSelectQuery() Returns a new ezcQuerySelect derived object with Oracle implementation specifics.
ezcDbHandlerSqlite::createSelectQuery() Returns a new ezcQuerySelect derived object with SQLite implementation specifics.

createUpdateQuery

ezcQueryUpdate createUpdateQuery( )
Returns a new ezcQueryUpdate derived object for the correct database type.

createUtilities

ezcDbUtilities createUtilities( )
Returns a new ezcUtilities derived object for the correct database type.

Redefined in descendants as

Method Description
ezcDbHandlerOracle::createUtilities() Returns a new ezcUtilities derived object with Oracle implementation specifics.
ezcDbHandlerSqlite::createUtilities() Returns a new ezcUtilities derived object with SQLite implementation specifics.
ezcDbHandlerPgsql::createUtilities() Returns a new ezcUtilities derived object with PostgreSQL implementation specifics.
ezcDbHandlerMysql::createUtilities() Returns a new ezcUtilities derived object for this database instance.

hasFeature

bool hasFeature( string $feature )
Returns true if the given $feature is supported by the handler.
Derived classes should override this method to report the features they support.

Parameters

Name Type Description
$feature string  

Redefined in descendants as

Method Description
ezcDbHandlerSqlite::hasFeature() Returns the features supported by SQLite.
ezcDbHandlerMysql::hasFeature() Returns the features supported by MySQL.

rollback

bool rollback( )
Rollback a transaction.
If this this call to rollback corresponds to the outermost call to begin(), a rollback query is executed. If this is an inner transaction (nesting level > 1) the error flag is set, leaving the rollback to the outermost transaction.
This method always returns true.

See also:

ezcDbHandler::commit(), begin().

Redefinition of

Method Description
PDO::rollBack ( )  

Last updated: Wed, 28 Nov 2007