ILIAS
Release_4_4_x_branch Revision 61816
|
MySQL Database Wrapper. More...
Public Member Functions | |
supportsSlave () | |
Supports slave. | |
setDBSlaveActive ($a_val) | |
Set slave active. | |
getDBSlaveActive () | |
Get slave active. | |
setDBSlaveUser ($a_user) | |
Set slave database user. | |
getDBSlaveUser () | |
Get slave database user. | |
setDBSlavePort ($a_port) | |
Set slave database port. | |
getDBSlavePort () | |
Get slave database port. | |
setDBSlaveHost ($a_host) | |
Set slave database host. | |
getDBSlaveHost () | |
Get slave database host. | |
setDBSlavePassword ($a_password) | |
Set slave database password. | |
getDBSlavePassword () | |
Get slave database password. | |
setDBSlaveName ($a_name) | |
Set slave database name. | |
getDBSlaveName () | |
Get slave database name. | |
getDSN () | |
Get DSN. | |
getSlaveDSN () | |
Get slave DSN. | |
getHostDSN () | |
Get Host DSN. | |
getDBType () | |
Get DB Type. | |
setStorageEngine ($a_storage_engine) | |
Set the storage engine. | |
initFromIniFile ($tmpClientIniFile=null) | |
Init db parameters from ini file. | |
doConnect () | |
Standard way to connect to db. | |
initConnection () | |
Initialize the database connection. | |
now () | |
now() | |
optimizeTable ($a_table) | |
Optimize Table. | |
getDBVersion () | |
get mysql version | |
isMysql4_0OrHigher () | |
check wether current MySQL server is version 4.0.x or higher | |
isMysql4_1 () | |
check wether current MySQL server is version 4.1.x | |
isMysql4_1OrHigher () | |
check wether current MySQL server is version 4.1.x or higher | |
isMysql5_6OrHigher () | |
check wether current MySQL server is version 5.6.x or higher | |
checkQuerySize ($a_query) | |
Check query size. | |
supportsFulltext () | |
Is fulltext index supported? | |
addFulltextIndex ($a_table, $a_fields, $a_name="in") | |
Add fulltext index. | |
dropFulltextIndex ($a_table, $a_name) | |
Add fulltext index. | |
isFulltextIndex ($a_table, $a_name) | |
Is index a fulltext index? | |
lockTables ($a_tables) | |
Lock table. | |
unlockTables () | |
Unlock tables. | |
getErrorNo () | |
getLastError () | |
query ($sql, $a_handle_error=true) | |
Query. | |
Public Member Functions inherited from ilDB | |
ilDB () | |
constructor | |
setDBUser ($a_user) | |
Set database user. | |
getDBUser () | |
Get database user. | |
setDBPort ($a_port) | |
Set database port. | |
getDBPort () | |
Get database port. | |
setDBHost ($a_host) | |
Set database host. | |
getDBHost () | |
Get database host. | |
setDBPassword ($a_password) | |
Set database password. | |
getDBPassword () | |
Get database password. | |
setDBName ($a_name) | |
Set database name. | |
getDBName () | |
Get database name. | |
enableResultBuffering ($a_status) | |
En/disable result buffering. | |
connect ($a_return_false_for_error=false) | |
Open the connection. | |
disconnect () | |
Disconnect. | |
connectHost () | |
Sets up a host connection only (no specific database used). | |
useSlave ($a_val=true) | |
Use slave. | |
handleError ($a_res, $a_info="", $a_level="") | |
Handle MDB2 Errors. | |
raisePearError ($a_message, $a_level="") | |
Raise an error. | |
createDatabase ($a_name, $a_charset="utf8", $a_collation="") | |
Create database. | |
createTable ($a_name, $a_definition_array, $a_drop_table=false, $a_ignore_erros=false) | |
Create a new table in the database. | |
dropTable ($a_name, $a_error_if_not_existing=true) | |
Drop a table. | |
alterTable ($a_name, $a_changes) | |
Alter a table in the database This method is DEPRECATED, see http://www.ilias.de/docu/goto.php?target=pg_25354_42&client_id=docu PLEASE USE THE SPECIALIZED METHODS OF THIS CLASS TO CHANGE THE DB SCHEMA. | |
addTableColumn ($a_table, $a_column, $a_attributes) | |
Add table column Use this only on aleady "abstracted" tables. | |
dropTableColumn ($a_table, $a_column) | |
Drop table column Use this only on aleady "abstracted" tables. | |
modifyTableColumn ($a_table, $a_column, $a_attributes) | |
Modify a table column Use this only on aleady "abstracted" tables. | |
renameTableColumn ($a_table, $a_column, $a_new_column) | |
Rename a table column Use this only on aleady "abstracted" tables. | |
renameTable ($a_name, $a_new_name) | |
Rename a table. | |
addPrimaryKey ($a_table, $a_fields) | |
Add a primary key to a table. | |
getPrimaryKeyIdentifier () | |
Primary key identifier. | |
dropPrimaryKey ($a_table) | |
Drop a primary key from a table. | |
addIndex ($a_table, $a_fields, $a_name="in", $a_fulltext=false) | |
Add an index to a table. | |
indexExistsByFields ($a_table, $a_fields) | |
Check if index exists. | |
dropIndexByFields ($a_table, $a_fields) | |
Drop index by field(s) | |
dropIndex ($a_table, $a_name="in") | |
Drop an index from a table. | |
addUniqueConstraint ($a_table, $a_fields, $a_name="con") | |
Add a unique constraint to a table. | |
createSequence ($a_table_name, $a_start=1) | |
Create a sequence for a table. | |
dropSequence ($a_table_name) | |
Drop a sequence for a table. | |
checkTableName ($a_name) | |
Check whether a table name is valid. | |
checkTableColumns ($a_cols) | |
Check table columns definition. | |
checkColumn ($a_col, $a_def) | |
Check column definition. | |
checkColumnDefinition ($a_def, $a_modify_mode=false) | |
Check whether a column definition is valid. | |
checkColumnName ($a_name) | |
Check whether a column name is valid. | |
checkIndexName ($a_name) | |
Check whether an index name is valid. | |
getAllowedAttributes () | |
constraintName ($a_table, $a_constraint) | |
Determine contraint name by table name and constraint name. | |
queryF ($a_query, $a_types, $a_values) | |
Formatted query (for SELECTS). | |
manipulateF ($a_query, $a_types, $a_values) | |
Formatted manupulate (for DELETE, UPDATE, INSERT). | |
logStatement ($sql) | |
Helper function, should usually not be called. | |
setLimit ($a_limit, $a_offset=0) | |
Set limit and offset for a query. | |
nextId ($a_table_name) | |
Get next ID for an index. | |
manipulate ($sql) | |
Data manipulation. | |
prepare ($a_query, $a_types=null, $a_result_types=null) | |
Prepare a query (SELECT) statement to be used with execute. | |
prepareManip ($a_query, $a_types=null) | |
Prepare a data manipulation statement to be used with execute. | |
execute ($a_stmt, $a_data=null) | |
Execute a query statement prepared by either prepare() or prepareManip() | |
executeMultiple ($a_stmt, $a_data) | |
Execute a query statement prepared by either prepare() or prepareManip() with multiple data arrays. | |
insert ($a_table, $a_columns) | |
Convenient method for standard insert statements, example field array: | |
update ($a_table, $a_columns, $a_where) | |
Convenient method for standard update statements, example field array: | |
replace ($a_table, $a_pk_columns, $a_other_columns) | |
Replace into method. | |
fetchAssoc ($a_set) | |
Fetch row as associative array from result set. | |
free ($a_st) | |
Free a statement / result set. | |
fetchObject ($a_set) | |
Fetch row as object from result set. | |
numRows ($a_set) | |
Fetch row as associative array from result set. | |
in ($a_field, $a_values, $negate=false, $a_type="") | |
Get abstract in-clause for given array. | |
addTypesToArray ($a_arr, $a_type, $a_cnt) | |
Adds a type x times to an array. | |
concat ($a_values, $a_allow_null=true) | |
Abstraction of SQL function CONCAT. | |
substr ($a_exp, $a_pos=1, $a_len=-1) | |
Substring. | |
upper ($a_exp) | |
Upper. | |
lower ($a_exp) | |
Upper. | |
locate ($a_needle, $a_string, $a_start_pos=1) | |
Create locate string. | |
like ($a_col, $a_type, $a_value="?", $case_insensitive=true) | |
Like. | |
equals ($a_col, $a_value, $a_type, $a_empty_or_null=false) | |
Use this only on text fields. | |
equalsNot ($a_col, $a_value, $a_type, $a_empty_or_null=false) | |
Use this only on text fields. | |
fromUnixtime ($a_expr, $a_to_text=true) | |
fromUnixtime (makes timestamp out of unix timestamp) | |
unixTimestamp () | |
Unix timestamp. | |
tableExists ($a_table) | |
Check, whether a given table exists. | |
tableColumnExists ($a_table, $a_column_name) | |
Checks for the existence of a table column. | |
uniqueConstraintExists ($a_table, $a_fields) | |
Checks if a unique constraint exists based on the fields of the unique constraint (not the name) | |
listTables () | |
Get all tables. | |
sequenceExists ($a_sequence) | |
Check, whether a given sequence exists. | |
listSequences () | |
Get all sequences. | |
quote ($a_query, $a_type=null) | |
Wrapper for quote method. | |
quoteIdentifier ($a_identifier) | |
Quote table and field names. | |
beginTransaction () | |
Begin Transaction. | |
commit () | |
Commit a transaction. | |
rollback () | |
Rollback a transaction. | |
autoExecute ($a_tablename, $a_fields, $a_mode=MDB2_AUTOQUERY_INSERT, $a_where=false) | |
Wrapper for Pear autoExecute. | |
getLastInsertId () | |
Get last insert id. | |
getOne ($sql) | |
getOne. | |
getRow ($sql, $mode=DB_FETCHMODE_OBJECT) | |
getRow. | |
setSubType ($a_value) | |
Set sub type. | |
getSubType () | |
Get sub type. | |
Public Member Functions inherited from PEAR | |
PEAR ($error_class=null) | |
Constructor. | |
_PEAR () | |
Destructor (the emulated type of...). | |
& | getStaticProperty ($class, $var) |
If you have a class that's mostly/entirely static, and you need static properties, you can use this method to simulate them. | |
registerShutdownFunc ($func, $args=array()) | |
Use this function to register a shutdown method for static classes. | |
isError ($data, $code=null) | |
Tell whether a value is a PEAR error. | |
setErrorHandling ($mode=null, $options=null) | |
Sets how errors generated by this object should be handled. | |
expectError ($code= '*') | |
This method is used to tell which errors you expect to get. | |
popExpect () | |
This method pops one element off the expected error codes stack. | |
_checkDelExpect ($error_code) | |
This method checks unsets an error code if available. | |
delExpect ($error_code) | |
This method deletes all occurences of the specified element from the expected error codes stack. | |
& | raiseError ($message=null, $code=null, $mode=null, $options=null, $userinfo=null, $error_class=null, $skipmsg=false) |
This method is a wrapper that returns an instance of the configured error class with this object's default error handling applied. | |
& | throwError ($message=null, $code=null, $userinfo=null) |
Simpler form of raiseError with fewer options. | |
staticPushErrorHandling ($mode, $options=null) | |
staticPopErrorHandling () | |
pushErrorHandling ($mode, $options=null) | |
Push a new error handler on top of the error handler options stack. | |
popErrorHandling () | |
Pop the last error handler used. | |
loadExtension ($ext) | |
OS independant PHP extension load. |
Static Public Member Functions | |
static | getReservedWords () |
Get reserved words. | |
Static Public Member Functions inherited from ilDB | |
static | isDbError ($a_res) |
Check error. | |
static | isReservedWord ($a_word) |
Checks whether a word is a reserved word in one of the supported databases. |
Data Fields | |
$max_allowed_packet_size | |
Data Fields inherited from ilDB | |
const | LOCK_WRITE = 1 |
const | LOCK_READ = 2 |
$error_class | |
$db | |
$result | |
$allowed_attributes | |
$sub_type | |
Data Fields inherited from PEAR | |
$_debug = false | |
$_default_error_mode = null | |
$_default_error_options = null | |
$_default_error_handler = '' | |
$_error_class = 'PEAR_Error' | |
$_expected_errors = array() |
Protected Member Functions | |
__buildDSN ($a_host, $a_name, $a_user, $a_pass, $a_port="") | |
Build DSN string. | |
isMySQLi () | |
setMaxAllowedPacket () | |
Set maximum allowed packet size. | |
getCreateTableOptions () | |
Get options for the create table statement. | |
Protected Member Functions inherited from ilDB | |
initHostConnection () | |
Initialize the host connection (no specific database) | |
loadMDB2Extensions () | |
load additional mdb2 extensions and set their constants |
Protected Attributes | |
$slave_active = false | |
$use_slave = false |
MySQL Database Wrapper.
This class extends the main ILIAS database wrapper ilDB. Only a few methods should be overwritten, that contain MySQL specific statements and methods.
Definition at line 18 of file class.ilDBMySQL.php.
|
protected |
Build DSN string.
@return |
Definition at line 183 of file class.ilDBMySQL.php.
References isMySQLi().
Referenced by getDSN(), and getSlaveDSN().
ilDBMySQL::addFulltextIndex | ( | $a_table, | |
$a_fields, | |||
$a_name = "in" |
|||
) |
Add fulltext index.
Reimplemented from ilDB.
Definition at line 505 of file class.ilDBMySQL.php.
References ilDB\constraintName(), and query().
ilDBMySQL::checkQuerySize | ( | $a_query | ) |
Check query size.
Definition at line 448 of file class.ilDBMySQL.php.
References $lang.
ilDBMySQL::doConnect | ( | ) |
Standard way to connect to db.
Reimplemented from ilDB.
Definition at line 311 of file class.ilDBMySQL.php.
References ilDB\connect(), getDBSlaveActive(), and getSlaveDSN().
ilDBMySQL::dropFulltextIndex | ( | $a_table, | |
$a_name | |||
) |
Add fulltext index.
Definition at line 516 of file class.ilDBMySQL.php.
References ilDB\constraintName(), and query().
|
protected |
Get options for the create table statement.
Reimplemented from ilDB.
Reimplemented in ilDBInnoDB.
Definition at line 600 of file class.ilDBMySQL.php.
ilDBMySQL::getDBSlaveActive | ( | ) |
Get slave active.
Definition at line 54 of file class.ilDBMySQL.php.
References $slave_active.
Referenced by doConnect(), and query().
ilDBMySQL::getDBSlaveHost | ( | ) |
Get slave database host.
string | slave database host |
Definition at line 114 of file class.ilDBMySQL.php.
Referenced by getSlaveDSN().
ilDBMySQL::getDBSlaveName | ( | ) |
Get slave database name.
string | slave database name |
Definition at line 154 of file class.ilDBMySQL.php.
Referenced by getSlaveDSN().
ilDBMySQL::getDBSlavePassword | ( | ) |
Get slave database password.
string | slave database password |
Definition at line 134 of file class.ilDBMySQL.php.
Referenced by getSlaveDSN().
ilDBMySQL::getDBSlavePort | ( | ) |
Get slave database port.
string | slave database port |
Definition at line 94 of file class.ilDBMySQL.php.
Referenced by getSlaveDSN().
ilDBMySQL::getDBSlaveUser | ( | ) |
Get slave database user.
string | slave database user |
Definition at line 74 of file class.ilDBMySQL.php.
Referenced by getSlaveDSN().
ilDBMySQL::getDBType | ( | ) |
Get DB Type.
Reimplemented from ilDB.
Reimplemented in ilDBInnoDB.
Definition at line 216 of file class.ilDBMySQL.php.
ilDBMySQL::getDBVersion | ( | ) |
get mysql version
Reimplemented from ilDB.
Definition at line 362 of file class.ilDBMySQL.php.
References isMySQLi().
Referenced by isMysql4_0OrHigher(), isMysql4_1(), isMysql4_1OrHigher(), isMysql5_6OrHigher(), and setMaxAllowedPacket().
ilDBMySQL::getDSN | ( | ) |
Get DSN.
Reimplemented from ilDB.
Definition at line 162 of file class.ilDBMySQL.php.
References __buildDSN(), ilDB\getDBHost(), ilDB\getDBName(), ilDB\getDBPassword(), ilDB\getDBPort(), and ilDB\getDBUser().
ilDBMySQL::getErrorNo | ( | ) |
Definition at line 606 of file class.ilDBMySQL.php.
References isMySQLi().
ilDBMySQL::getHostDSN | ( | ) |
Get Host DSN.
Reimplemented from ilDB.
Definition at line 205 of file class.ilDBMySQL.php.
References ilDB\getDBPassword(), ilDB\getDBUser(), and isMySQLi().
ilDBMySQL::getLastError | ( | ) |
Definition at line 618 of file class.ilDBMySQL.php.
References isMySQLi().
|
static |
Get reserved words.
Reimplemented from ilDB.
Definition at line 232 of file class.ilDBMySQL.php.
ilDBMySQL::getSlaveDSN | ( | ) |
Get slave DSN.
Definition at line 171 of file class.ilDBMySQL.php.
References __buildDSN(), getDBSlaveHost(), getDBSlaveName(), getDBSlavePassword(), getDBSlavePort(), and getDBSlaveUser().
Referenced by doConnect().
ilDBMySQL::initConnection | ( | ) |
Initialize the database connection.
Reimplemented from ilDB.
Reimplemented in ilDBInnoDB.
Definition at line 325 of file class.ilDBMySQL.php.
References query(), setMaxAllowedPacket(), and setStorageEngine().
ilDBMySQL::initFromIniFile | ( | $tmpClientIniFile = null | ) |
Init db parameters from ini file.
$tmpClientIniFile | overwrite global client ini file if is set to an object |
Reimplemented from ilDB.
Definition at line 282 of file class.ilDBMySQL.php.
References setDBSlaveActive(), setDBSlaveHost(), setDBSlaveName(), setDBSlavePassword(), setDBSlavePort(), and setDBSlaveUser().
ilDBMySQL::isFulltextIndex | ( | $a_table, | |
$a_name | |||
) |
Is index a fulltext index?
Reimplemented from ilDB.
Definition at line 525 of file class.ilDBMySQL.php.
References ilDB\fetchAssoc(), and query().
ilDBMySQL::isMysql4_0OrHigher | ( | ) |
check wether current MySQL server is version 4.0.x or higher
Definition at line 383 of file class.ilDBMySQL.php.
References getDBVersion().
ilDBMySQL::isMysql4_1 | ( | ) |
check wether current MySQL server is version 4.1.x
Definition at line 396 of file class.ilDBMySQL.php.
References getDBVersion().
ilDBMySQL::isMysql4_1OrHigher | ( | ) |
check wether current MySQL server is version 4.1.x or higher
NOTE: Two sourcecodes use this or a similar handling:
Definition at line 414 of file class.ilDBMySQL.php.
References getDBVersion().
ilDBMySQL::isMysql5_6OrHigher | ( | ) |
check wether current MySQL server is version 5.6.x or higher
NOTE: Two sourcecodes use this or a similar handling:
Definition at line 433 of file class.ilDBMySQL.php.
References getDBVersion().
Referenced by setStorageEngine().
|
protected |
Definition at line 197 of file class.ilDBMySQL.php.
References ilDB\getSubType().
Referenced by __buildDSN(), getDBVersion(), getErrorNo(), getHostDSN(), and getLastError().
ilDBMySQL::lockTables | ( | $a_tables | ) |
Lock table.
E.g $ilDB->lockTable('tree',ilDB::LOCK_WRITE,'t1')
array | $a_tables | |
int | $a_mode | |
string | $a_alias |
Reimplemented from ilDB.
Definition at line 546 of file class.ilDBMySQL.php.
References $ilLog, ilDB\LOCK_READ, ilDB\LOCK_WRITE, and query().
ilDBMySQL::now | ( | ) |
ilDBMySQL::optimizeTable | ( | $a_table | ) |
Optimize Table.
Reimplemented from ilDB.
Definition at line 354 of file class.ilDBMySQL.php.
References query().
ilDBMySQL::query | ( | $sql, | |
$a_handle_error = true |
|||
) |
Query.
@return |
Reimplemented from ilDB.
Definition at line 636 of file class.ilDBMySQL.php.
References getDBSlaveActive(), and ilDB\handleError().
Referenced by addFulltextIndex(), dropFulltextIndex(), ilDBInnoDB\initConnection(), initConnection(), isFulltextIndex(), lockTables(), optimizeTable(), setMaxAllowedPacket(), setStorageEngine(), and unlockTables().
ilDBMySQL::setDBSlaveActive | ( | $a_val | ) |
Set slave active.
bool | $a_val | slave active |
Definition at line 44 of file class.ilDBMySQL.php.
Referenced by initFromIniFile().
ilDBMySQL::setDBSlaveHost | ( | $a_host | ) |
Set slave database host.
string | slave database host |
Definition at line 104 of file class.ilDBMySQL.php.
Referenced by initFromIniFile().
ilDBMySQL::setDBSlaveName | ( | $a_name | ) |
Set slave database name.
string | slave database name |
Definition at line 144 of file class.ilDBMySQL.php.
Referenced by initFromIniFile().
ilDBMySQL::setDBSlavePassword | ( | $a_password | ) |
Set slave database password.
string | slave database password |
Definition at line 124 of file class.ilDBMySQL.php.
Referenced by initFromIniFile().
ilDBMySQL::setDBSlavePort | ( | $a_port | ) |
Set slave database port.
string | slave database port |
Definition at line 84 of file class.ilDBMySQL.php.
Referenced by initFromIniFile().
ilDBMySQL::setDBSlaveUser | ( | $a_user | ) |
Set slave database user.
string | slave database user |
Definition at line 64 of file class.ilDBMySQL.php.
Referenced by initFromIniFile().
|
protected |
Set maximum allowed packet size.
todo@: This is MySQL specific and should go to a MySQL specific class.
Definition at line 467 of file class.ilDBMySQL.php.
References $query, $res, $row, DB_FETCHMODE_OBJECT, getDBVersion(), query(), and ilDB\substr().
Referenced by ilDBInnoDB\initConnection(), and initConnection().
ilDBMySQL::setStorageEngine | ( | $a_storage_engine | ) |
Set the storage engine.
Definition at line 224 of file class.ilDBMySQL.php.
References isMysql5_6OrHigher(), and query().
Referenced by ilDBInnoDB\initConnection(), and initConnection().
ilDBMySQL::supportsFulltext | ( | ) |
Is fulltext index supported?
Reimplemented from ilDB.
Reimplemented in ilDBInnoDB.
Definition at line 497 of file class.ilDBMySQL.php.
ilDBMySQL::supportsSlave | ( | ) |
Supports slave.
@return |
Reimplemented from ilDB.
Definition at line 34 of file class.ilDBMySQL.php.
ilDBMySQL::unlockTables | ( | ) |
Unlock tables.
Reimplemented from ilDB.
Definition at line 595 of file class.ilDBMySQL.php.
References query().
ilDBMySQL::$max_allowed_packet_size |
Definition at line 24 of file class.ilDBMySQL.php.
|
protected |
Definition at line 25 of file class.ilDBMySQL.php.
Referenced by getDBSlaveActive().
|
protected |
Definition at line 26 of file class.ilDBMySQL.php.