ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilDBInnoDB Class Reference

MySQL InnoDB Database Wrapper. More...

+ Inheritance diagram for ilDBInnoDB:
+ Collaboration diagram for ilDBInnoDB:

Public Member Functions

 getDBType ()
 Get DB Type.
 initConnection ()
 Initialize the database connection.
 supportsFulltext ()
 Is fulltext index supported?
- Public Member Functions inherited from ilDBMySQL
 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.
 setStorageEngine ($a_storage_engine)
 Set the storage engine.
 initFromIniFile ($tmpClientIniFile=null)
 Init db parameters from ini file.
 doConnect ()
 Standard way to connect to db.
 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.
 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.

Protected Member Functions

 getCreateTableOptions ()
 Get options for the create table statement.
- Protected Member Functions inherited from ilDBMySQL
 __buildDSN ($a_host, $a_name, $a_user, $a_pass, $a_port="")
 Build DSN string.
 isMySQLi ()
 setMaxAllowedPacket ()
 Set maximum allowed packet size.
- Protected Member Functions inherited from ilDB
 initHostConnection ()
 Initialize the host connection (no specific database)
 loadMDB2Extensions ()
 load additional mdb2 extensions and set their constants

Additional Inherited Members

- Static Public Member Functions inherited from ilDBMySQL
static getReservedWords ()
 Get reserved words.
- Data Fields inherited from ilDBMySQL
 $max_allowed_packet_size
- Protected Attributes inherited from ilDBMySQL
 $slave_active = false
 $use_slave = false

Detailed Description

MySQL InnoDB Database Wrapper.

This class extends the main ILIAS database wrapper ilDB. Only a few methods should be overwritten, that contain InnoDB specific statements and methods.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 18 of file class.ilDBInnoDB.php.

Member Function Documentation

ilDBInnoDB::getCreateTableOptions ( )
protected

Get options for the create table statement.

Returns
array

Reimplemented from ilDBMySQL.

Definition at line 57 of file class.ilDBInnoDB.php.

{
// InnoDB is default engine for MySQL >= 5.5
return array('type' => 'InnoDB');
}
ilDBInnoDB::getDBType ( )

Get DB Type.

Reimplemented from ilDBMySQL.

Definition at line 24 of file class.ilDBInnoDB.php.

{
return "innodb";
}
ilDBInnoDB::initConnection ( )

Initialize the database connection.

Reimplemented from ilDBMySQL.

Definition at line 32 of file class.ilDBInnoDB.php.

References ilDBMySQL\query(), ilDBMySQL\setMaxAllowedPacket(), and ilDBMySQL\setStorageEngine().

{
// SET 'max_allowed_packet' (only possible for mysql version 4)
// NOTE: Two sourcecodes use this or a similar handling:
// - classes/class.ilDB.php
// - setup/classes/class.ilClient.php
$this->query("SET NAMES utf8");
if (DEVMODE == 1)
{
$this->query("SET SESSION SQL_MODE = 'ONLY_FULL_GROUP_BY'");
}
$this->setStorageEngine('INNODB');
}

+ Here is the call graph for this function:

ilDBInnoDB::supportsFulltext ( )

Is fulltext index supported?

Reimplemented from ilDBMySQL.

Definition at line 52 of file class.ilDBInnoDB.php.

{
return false;
}

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