| ILIAS
    Release_4_1_x_branch Revision 61804
    | 
Oracle Database Wrapper. More...
 Inheritance diagram for ilDBOracle:
 Inheritance diagram for ilDBOracle: Collaboration diagram for ilDBOracle:
 Collaboration diagram for ilDBOracle:| Public Member Functions | |
| getDSN () | |
| Get DSN. | |
| getDBType () | |
| Get DB Type. | |
| getDBVersion () | |
| Get DB version. | |
| doConnect () | |
| Standard way to connect to db. | |
| initConnection () | |
| Initialize the database connection. | |
| now () | |
| now() | |
| fromUnixtime ($a_expr, $a_to_text=true) | |
| fromUnixtime (makes timestamp out of unix timestamp) | |
| unixTimestamp () | |
| Unix timestamp. | |
| constraintName ($a_table, $a_constraint) | |
| Constraint names must be "globally" unique in oracle. | |
| getPrimaryKeyIdentifier () | |
| Primary key identifier. | |
| supportsFulltext () | |
| Is fulltext index supported? | |
| replace ($a_table, $a_pk_columns, $a_other_columns) | |
| Replace into method. | |
| locate ($a_needle, $a_string, $a_start_pos=1) | |
| Create locate string. | |
| like ($a_col, $a_type, $a_value="?", $case_insensitive=true) | |
| Provisional LIKE support for oracle CLOB's Uses SUBSTR to reduce the length. | |
| concat ($a_values, $a_allow_null=true) | |
| CONCAT for oracle allows only the concatenation of two values. | |
| in ($a_field, $a_values, $negate=false, $a_type="") | |
| Overwritten implementation of $ilDB->into avoid ORA-01795 (maximum number of expressions in a list is 1000) | |
| lockTables ($a_tables) | |
| Lock table. | |
| unlockTables () | |
| Unlock tables. | |
|  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. | |
| initFromIniFile ($tmpClientIniFile=null) | |
| Init db parameters from ini file. | |
| connect ($a_return_false_for_error=false) | |
| Open the connection. | |
| disconnect () | |
| Disconnect. | |
| getHostDSN () | |
| Should return a valid value, if host connections are possible (connectHost) to create a new database from scratch. | |
| connectHost () | |
| Sets up a host connection only (no specific database used). | |
| 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. | |
| 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. | |
| addFulltextIndex ($a_table, $a_fields, $a_name="in") | |
| Add fulltext index. | |
| isFulltextIndex ($a_table, $a_name) | |
| Is index a fulltext index? | |
| 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 () | |
| query ($sql, $a_handle_error=true) | |
| Query. | |
| 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: | |
| 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. | |
| addTypesToArray ($a_arr, $a_type, $a_cnt) | |
| Adds a type x times to an array. | |
| substr ($a_exp, $a_pos=1, $a_len=-1) | |
| Substring. | |
| upper ($a_exp) | |
| Upper. | |
| lower ($a_exp) | |
| Upper. | |
| 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. | |
| optimizeTable ($a_table) | |
| Optimize Table. | |
| tableExists ($a_table) | |
| Check, whether a given table exists. | |
| tableColumnExists ($a_table, $a_column_name) | |
| Checks for the existence of a table column. | |
| listTables () | |
| Get all tables. | |
| 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. | |
|  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 | |
| const | CLOB_BUFFER_SIZE = 2000 | 
| const | LIMIT_EXPRESSIONS_IN_LIST = 1000 | 
|  Data Fields inherited from ilDB | |
| const | LOCK_WRITE = 1 | 
| const | LOCK_READ = 2 | 
| $error_class | |
| $db | |
| $result | |
| $allowed_attributes | |
|  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() | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from ilDB | |
| initHostConnection () | |
| Initialize the host connection (no specific database) | |
| loadMDB2Extensions () | |
| load additional mdb2 extensions and set their constants | |
Oracle Database Wrapper.
This class extends the main ILIAS database wrapper ilDB. Only a few methods should be overwritten, that contain Oracle specific statements and methods.
Definition at line 18 of file class.ilDBOracle.php.
| ilDBOracle::concat | ( | $a_values, | |
| $a_allow_null = true | |||
| ) | 
CONCAT for oracle allows only the concatenation of two values.
| object | $a_values | |
| object | $a_allow_null | [optional] | 
Reimplemented from ilDB.
Definition at line 334 of file class.ilDBOracle.php.
| ilDBOracle::constraintName | ( | $a_table, | |
| $a_constraint | |||
| ) | 
Constraint names must be "globally" unique in oracle.
Reimplemented from ilDB.
Definition at line 164 of file class.ilDBOracle.php.
| ilDBOracle::doConnect | ( | ) | 
Standard way to connect to db.
Reimplemented from ilDB.
Definition at line 98 of file class.ilDBOracle.php.
References ilDB\connect(), and getDSN().
 Here is the call graph for this function:
 Here is the call graph for this function:| ilDBOracle::fromUnixtime | ( | $a_expr, | |
| $a_to_text = true | |||
| ) | 
fromUnixtime (makes timestamp out of unix timestamp)
Reimplemented from ilDB.
Definition at line 137 of file class.ilDBOracle.php.
| ilDBOracle::getDBType | ( | ) | 
Get DB Type.
Reimplemented from ilDB.
Definition at line 52 of file class.ilDBOracle.php.
| ilDBOracle::getDBVersion | ( | ) | 
Get DB version.
Reimplemented from ilDB.
Definition at line 57 of file class.ilDBOracle.php.
References $query, $res, $row, DB_FETCHMODE_ASSOC, and MDB2\isError().
 Here is the call graph for this function:
 Here is the call graph for this function:| ilDBOracle::getDSN | ( | ) | 
Get DSN.
Reimplemented from ilDB.
Definition at line 27 of file class.ilDBOracle.php.
References $GLOBALS, ilDB\getDBHost(), ilDB\getDBName(), ilDB\getDBPassword(), ilDB\getDBPort(), and ilDB\getDBUser().
Referenced by doConnect().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| ilDBOracle::getPrimaryKeyIdentifier | ( | ) | 
Primary key identifier.
Reimplemented from ilDB.
Definition at line 172 of file class.ilDBOracle.php.
| 
 | static | 
Get reserved words.
Reimplemented from ilDB.
Definition at line 73 of file class.ilDBOracle.php.
| ilDBOracle::in | ( | $a_field, | |
| $a_values, | |||
| $negate = false, | |||
| $a_type = "" | |||
| ) | 
Overwritten implementation of $ilDB->in to avoid ORA-01795 (maximum number of expressions in a list is 1000) 
This implementation rewrites the in clause to field IN (1,2,3,...,1000) OR field IN (1000,1001,...,2000)
Example: $ids = array(10,12,18); $st = $ilDB->prepare("SELECT * FROM table ". "WHERE ".$ilDB->in("id", $ids), $ilDB->addTypesToArray($types, "integer", count($ids))); $set = $ilDB->execute($st, $ids);
Reimplemented from ilDB.
Definition at line 377 of file class.ilDBOracle.php.
References $in.
| ilDBOracle::initConnection | ( | ) | 
Initialize the database connection.
Reimplemented from ilDB.
Definition at line 107 of file class.ilDBOracle.php.
References $GLOBALS, and ilDB\query().
 Here is the call graph for this function:
 Here is the call graph for this function:| ilDBOracle::like | ( | $a_col, | |
| $a_type, | |||
| $a_value = "?", | |||
| $case_insensitive = true | |||
| ) | 
Provisional LIKE support for oracle CLOB's Uses SUBSTR to reduce the length.
TODO: we can use self::CLOB_BUFFER_SIZE = 4000 since since the maximum buffer is 4000 byte and not 4000 chars 
| object | $a_col | |
| object | $a_type | |
| object | $a_value | [optional] | 
| object | $case_insensitive | [optional] | 
Reimplemented from ilDB.
Definition at line 293 of file class.ilDBOracle.php.
References ilDB\quote(), and ilDB\raisePearError().
 Here is the call graph for this function:
 Here is the call graph for this function:| ilDBOracle::locate | ( | $a_needle, | |
| $a_string, | |||
| $a_start_pos = 1 | |||
| ) | 
Create locate string.
| string | $a_needle | |
| string | $a_string | |
| int | $a_start_pos | [optional] | 
Reimplemented from ilDB.
Definition at line 270 of file class.ilDBOracle.php.
| ilDBOracle::lockTables | ( | $a_tables | ) | 
Lock table.
E.g $ilDB->lockTable('tree',ilDB::LOCK_WRITE,'t1')
| string | $a_name | |
| int | $a_mode | |
| string | $a_alias | 
Reimplemented from ilDB.
Definition at line 415 of file class.ilDBOracle.php.
References $ilLog, ilDB\LOCK_READ, and ilDB\LOCK_WRITE.
| ilDBOracle::now | ( | ) | 
Reimplemented from ilDB.
Definition at line 129 of file class.ilDBOracle.php.
| ilDBOracle::replace | ( | $a_table, | |
| $a_pk_columns, | |||
| $a_other_columns | |||
| ) | 
Replace into method.
| string | table name | 
| array | primary key values: array("field1" => array("text", $name), "field2" => ...) | 
| array | other values: array("field1" => array("text", $name), "field2" => ...) | 
Reimplemented from ilDB.
Definition at line 192 of file class.ilDBOracle.php.
References ilDB\handleError(), ilDB\insert(), ilDB\manipulate(), and ilDB\quote().
 Here is the call graph for this function:
 Here is the call graph for this function:| ilDBOracle::supportsFulltext | ( | ) | 
Is fulltext index supported?
Reimplemented from ilDB.
Definition at line 180 of file class.ilDBOracle.php.
| ilDBOracle::unixTimestamp | ( | ) | 
Unix timestamp.
Reimplemented from ilDB.
Definition at line 154 of file class.ilDBOracle.php.
| ilDBOracle::unlockTables | ( | ) | 
Unlock tables.
Reimplemented from ilDB.
Definition at line 456 of file class.ilDBOracle.php.
| const ilDBOracle::CLOB_BUFFER_SIZE = 2000 | 
Definition at line 20 of file class.ilDBOracle.php.
| const ilDBOracle::LIMIT_EXPRESSIONS_IN_LIST = 1000 | 
Definition at line 21 of file class.ilDBOracle.php.