ILIAS
release_4-3 Revision
|
Oracle Database Wrapper. More...
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->in to avoid ORA-01795 (maximum number of expressions in a list is 1000) | |
lockTables ($a_tables) | |
Lock table. | |
unlockTables () | |
Unlock tables. | |
dropPrimaryKey ($a_table) | |
Drop a primary key from a table. | |
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. | |
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. | |
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. | |
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 | |
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 | |
$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() |
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 | |
getCreateTableOptions () | |
Get options for the create table statement. |
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 341 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().
ilDBOracle::dropPrimaryKey | ( | $a_table | ) |
Drop a primary key from a table.
string | table name |
Reimplemented from ilDB.
Definition at line 473 of file class.ilDBOracle.php.
References $query, $res, and ilDB\handleError().
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().
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().
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 384 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().
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 300 of file class.ilDBOracle.php.
References ilDB\quote(), and ilDB\raisePearError().
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 277 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 422 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().
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 463 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.