Path

ez components / documentation / api reference / 1.0.1 / database


eZ Components 1.0.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 abstract static string getName( )
Returns the name of the handler.
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.

getName

string getName( )
Returns the name of the handler.
Returns handler name (e.g. 'mysql', 'pgsql', 'oracle', etc.)
This method can be used to choose more optimal query for the given Database.

Redefined in descendants as

Method Description
ezcDbHandlerOracle::getName() Returns 'oracle'.
ezcDbHandlerSqlite::getName() Returns 'sqlite'.
ezcDbHandlerPgsql::getName() Returns 'pgsql'.
ezcDbHandlerMysql::getName() Returns 'mysql'.

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: Fri, 02 Nov 2007