|
Moodle
2.2.1
http://www.collinsharper.com
|


Public Member Functions | |
| create_database ($dbhost, $dbuser, $dbpass, $dbname, array $dboptions=null) | |
| driver_installed () | |
| get_dbfamily () | |
| get_dbengine () | |
| get_name () | |
| get_configuration_help () | |
| get_configuration_hints () | |
| diagnose () | |
| connect ($dbhost, $dbuser, $dbpass, $dbname, $prefix, array $dboptions=null) | |
| dispose () | |
| get_server_info () | |
| get_last_error () | |
| get_tables ($usecache=true) | |
| get_indexes ($table) | |
| get_columns ($table, $usecache=true) | |
| setup_is_unicodedb () | |
| change_database_structure ($sql) | |
| execute ($sql, array $params=null) | |
| get_recordset_sql ($sql, array $params=null, $limitfrom=0, $limitnum=0) | |
| get_records_sql ($sql, array $params=null, $limitfrom=0, $limitnum=0) | |
| get_fieldset_sql ($sql, array $params=null) | |
| insert_record_raw ($table, $params, $returnid=true, $bulk=false, $customsequence=false) | |
| insert_record ($table, $dataobject, $returnid=true, $bulk=false) | |
| import_record ($table, $dataobject) | |
| update_record_raw ($table, $params, $bulk=false) | |
| update_record ($table, $dataobject, $bulk=false) | |
| set_field_select ($table, $newfield, $newvalue, $select, array $params=null) | |
| delete_records_select ($table, $select, array $params=null) | |
| sql_cast_char2int ($fieldname, $text=false) | |
| sql_cast_char2real ($fieldname, $text=false) | |
| sql_like ($fieldname, $param, $casesensitive=true, $accentsensitive=true, $notlike=false, $escapechar= '\\') | |
| sql_concat () | |
| sql_concat_join ($separator="' '", $elements=array()) | |
| sql_length ($fieldname) | |
| sql_regex_supported () | |
| sql_regex ($positivematch=true) | |
| sql_cast_2signed ($fieldname) | |
| session_lock_supported () | |
| session locking | |
| get_session_lock ($rowid, $timeout) | |
| release_session_lock ($rowid) | |
Protected Member Functions | |
| get_dbtype () | |
| get_dblibrary () | |
| allowed_param_types () | |
| normalise_value ($column, $value) | |
| emulate_bound_params ($sql, array $params=null) | |
| create_recordset ($result) | |
| transactions_supported () | |
| transactions | |
| begin_transaction () | |
| commit_transaction () | |
| rollback_transaction () | |
Protected Attributes | |
| $mysqli = null | |
Native mysqli class representing moodle database interface.
Definition at line 37 of file mysqli_native_moodle_database.php.
| allowed_param_types | ( | ) | [protected] |
Returns supported query parameter types
Reimplemented from moodle_database.
Definition at line 353 of file mysqli_native_moodle_database.php.
| begin_transaction | ( | ) | [protected] |
Driver specific start of real database transaction, this can not be used directly in code.
Reimplemented from moodle_database.
Definition at line 1286 of file mysqli_native_moodle_database.php.

| change_database_structure | ( | $ | sql | ) |
Do NOT use in code, to be used by database_manager only!
| string | $sql | query |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 664 of file mysqli_native_moodle_database.php.

| commit_transaction | ( | ) | [protected] |
Driver specific commit of real database transaction, this can not be used directly in code.
Reimplemented from moodle_database.
Definition at line 1307 of file mysqli_native_moodle_database.php.

Connect to db Must be called before other methods.
| string | $dbhost | |
| string | $dbuser | |
| string | $dbpass | |
| string | $dbname | |
| mixed | $prefix | string means moodle db prefix, false used for external databases where prefix not used |
| array | $dboptions | driver specific options |
Reimplemented from moodle_database.
Definition at line 269 of file mysqli_native_moodle_database.php.

| create_database | ( | $ | dbhost, |
| $ | dbuser, | ||
| $ | dbpass, | ||
| $ | dbname, | ||
| array $ | dboptions = null |
||
| ) |
Attempt to create the database
| string | $dbhost | |
| string | $dbuser | |
| string | $dbpass | |
| string | $dbname |
| dml_exception | if error |
Connect without db
Reimplemented from moodle_database.
Definition at line 52 of file mysqli_native_moodle_database.php.

| create_recordset | ( | $ | result | ) | [protected] |
Definition at line 773 of file mysqli_native_moodle_database.php.

| delete_records_select | ( | $ | table, |
| $ | select, | ||
| array $ | params = null |
||
| ) |
Delete one or more records from a table which match a particular WHERE clause.
| string | $table | The database table to be checked against. |
| string | $select | A fragment of SQL to be used in a where clause in the SQL call (used to define the selection criteria). |
| array | $params | array of sql parameters |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 1085 of file mysqli_native_moodle_database.php.

| diagnose | ( | ) |
Diagnose database and tables, this function is used to verify database and driver settings, db engine types, etc.
Reimplemented from moodle_database.
Definition at line 234 of file mysqli_native_moodle_database.php.

| dispose | ( | ) |
Close database connection and release all resources and memory (especially circular memory references). Do NOT use connect() again, create a new instance if needed.
Reimplemented from moodle_database.
Definition at line 333 of file mysqli_native_moodle_database.php.
| driver_installed | ( | ) |
Detects if all needed PHP stuff installed. Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 100 of file mysqli_native_moodle_database.php.

| emulate_bound_params | ( | $ | sql, |
| array $ | params = null |
||
| ) | [protected] |
Very ugly hack which emulates bound parameters in queries because prepared statements do not use query cache.
ok, we have verified sql statement with ? and correct number of params
Definition at line 678 of file mysqli_native_moodle_database.php.


Execute general sql query. Should be used only when no other method suitable. Do NOT use this to make changes in db structure, use database_manager::execute_sql() instead!
| string | $sql | query |
| array | $params | query parameters |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 711 of file mysqli_native_moodle_database.php.

| get_columns | ( | $ | table, |
| $ | usecache = true |
||
| ) |
Returns detailed information about columns in table. This information is cached internally.
| string | $table | name |
| bool | $usecache |
Reimplemented from moodle_database.
Definition at line 428 of file mysqli_native_moodle_database.php.


Returns localised database configuration help. Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 215 of file mysqli_native_moodle_database.php.
Returns localised database description Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 224 of file mysqli_native_moodle_database.php.
| get_dbengine | ( | ) |
Returns the current MySQL db engine.
This is an ugly workaround for MySQL default engine problems, Moodle is designed to work best on ACID compliant databases with full transaction support. Do not use MyISAM.
Definition at line 143 of file mysqli_native_moodle_database.php.


| get_dbfamily | ( | ) |
Returns database family type - describes SQL dialect Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 112 of file mysqli_native_moodle_database.php.
| get_dblibrary | ( | ) | [protected] |
Returns general database library name Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 130 of file mysqli_native_moodle_database.php.
| get_dbtype | ( | ) | [protected] |
Returns more specific database driver type Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 121 of file mysqli_native_moodle_database.php.
| get_fieldset_sql | ( | $ | sql, |
| array $ | params = null |
||
| ) |
Selects records and return values (first field) as an array using a SQL statement.
| string | $sql | The SQL query |
| array | $params | array of sql parameters |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 835 of file mysqli_native_moodle_database.php.

| get_indexes | ( | $ | table | ) |
Return table indexes - everything lowercased
Reimplemented from moodle_database.
Definition at line 401 of file mysqli_native_moodle_database.php.

| get_last_error | ( | ) |
Returns last error reported by database engine.
Reimplemented from moodle_database.
Definition at line 361 of file mysqli_native_moodle_database.php.
| get_name | ( | ) |
Returns localised database type name Note: can be used before connect()
Reimplemented from moodle_database.
Definition at line 206 of file mysqli_native_moodle_database.php.
| get_records_sql | ( | $ | sql, |
| array $ | params = null, |
||
| $ | limitfrom = 0, |
||
| $ | limitnum = 0 |
||
| ) |
Get a number of records as an array of objects using a SQL statement.
Return value as for
| string | $sql | the SQL select query to execute. The first column of this SELECT statement must be a unique value (usually the 'id' field), as it will be used as the key of the returned array. |
| array | $params | array of sql parameters |
| int | $limitfrom | return a subset of records, starting at this point (optional, required if $limitnum is set). |
| int | $limitnum | return a subset comprising this many records (optional, required if $limitfrom is set). |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 791 of file mysqli_native_moodle_database.php.

| get_recordset_sql | ( | $ | sql, |
| array $ | params = null, |
||
| $ | limitfrom = 0, |
||
| $ | limitnum = 0 |
||
| ) |
Get a number of records as a moodle_recordset using a SQL statement.
Since this method is a little less readable, use of it should be restricted to code where it's possible there might be large datasets being returned. For known small datasets use get_records_sql - it leads to simpler code.
The return type is as for
| string | $sql | the SQL select query to execute. |
| array | $params | array of sql parameters |
| int | $limitfrom | return a subset of records, starting at this point (optional, required if $limitnum is set). |
| int | $limitnum | return a subset comprising this many records (optional, required if $limitfrom is set). |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 749 of file mysqli_native_moodle_database.php.

| get_server_info | ( | ) |
Returns database server info array
Reimplemented from moodle_database.
Definition at line 345 of file mysqli_native_moodle_database.php.

| get_session_lock | ( | $ | rowid, |
| $ | timeout | ||
| ) |
Obtain session lock
| int | $rowid | id of the row with session record |
| int | $timeout | max allowed time to wait for the lock in seconds |
Reimplemented from moodle_database.
Definition at line 1212 of file mysqli_native_moodle_database.php.

| get_tables | ( | $ | usecache = true | ) |
Return tables in database WITHOUT current prefix
Reimplemented from moodle_database.
Definition at line 369 of file mysqli_native_moodle_database.php.

| import_record | ( | $ | table, |
| $ | dataobject | ||
| ) |
Import a record into a table, id field is required. Safety checks are NOT carried out. Lobs are supported.
| string | $table | name of database table to be inserted into |
| object | $dataobject | A data object with values for one or more fields in the record |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 947 of file mysqli_native_moodle_database.php.

| insert_record | ( | $ | table, |
| $ | dataobject, | ||
| $ | returnid = true, |
||
| $ | bulk = false |
||
| ) |
Insert a record into a table and return the "id" field if required.
Some conversions and safety checks are carried out. Lobs are supported. If the return ID isn't required, then this just reports success as true/false. $data is an object containing needed data
| string | $table | The database table to be inserted into |
| object | $data | A data object with values for one or more fields in the record |
| bool | $returnid | Should the id of the newly created record entry be returned? If this option is not requested then true/false is returned. |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 918 of file mysqli_native_moodle_database.php.

| insert_record_raw | ( | $ | table, |
| $ | params, | ||
| $ | returnid = true, |
||
| $ | bulk = false, |
||
| $ | customsequence = false |
||
| ) |
Insert new record into database, as fast as possible, no safety checks, lobs not supported.
| string | $table | name |
| mixed | $params | data record as object or array |
| bool | $returnit | return it of inserted record |
| bool | $bulk | true means repeated inserts expected |
| bool | $customsequence | true if 'id' included in $params, disables $returnid |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 863 of file mysqli_native_moodle_database.php.


| normalise_value | ( | $ | column, |
| $ | value | ||
| ) | [protected] |
Normalise values based in RDBMS dependencies (booleans, LOBs...)
| database_column_info | $column | column metadata corresponding with the value we are going to normalise |
| mixed | $value | value we are going to normalise |
Reimplemented from moodle_database.
Definition at line 588 of file mysqli_native_moodle_database.php.


| release_session_lock | ( | $ | rowid | ) |
Release session lock
| int | $rowid | id of the row with session record |
Reimplemented from moodle_database.
Definition at line 1233 of file mysqli_native_moodle_database.php.

| rollback_transaction | ( | ) | [protected] |
Driver specific abort of real database transaction, this can not be used directly in code.
Reimplemented from moodle_database.
Definition at line 1323 of file mysqli_native_moodle_database.php.

session locking
Reimplemented from moodle_database.
Definition at line 1202 of file mysqli_native_moodle_database.php.
| set_field_select | ( | $ | table, |
| $ | newfield, | ||
| $ | newvalue, | ||
| $ | select, | ||
| array $ | params = null |
||
| ) |
Set a single field in every table record which match a particular WHERE clause.
| string | $table | The database table to be checked against. |
| string | $newfield | the field to set. |
| string | $newvalue | the value to set the field to. |
| string | $select | A fragment of SQL to be used in a where clause in the SQL call. |
| array | $params | array of sql parameters |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 1045 of file mysqli_native_moodle_database.php.

Is db in unicode mode?
Reimplemented from moodle_database.
Definition at line 618 of file mysqli_native_moodle_database.php.

| sql_cast_2signed | ( | $ | fieldname | ) |
Returns the SQL to be used in order to an UNSIGNED INTEGER column to SIGNED.
(Only MySQL needs this. MySQL things that 1 * -1 = 18446744073709551615 if the 1 comes from an unsigned column).
| string | $fieldname | the name of the field to be cast |
Reimplemented from moodle_database.
Definition at line 1197 of file mysqli_native_moodle_database.php.
| sql_cast_char2int | ( | $ | fieldname, |
| $ | text = false |
||
| ) |
Returns the SQL to be used in order to CAST one CHAR column to INTEGER.
Be aware that the CHAR column you're trying to cast contains really int values or the RDBMS will throw an error!
| string | $fieldname | the name of the field to be casted |
| bool | $text | to specify if the original column is one TEXT (CLOB) column (true). Defaults to false. |
Reimplemented from moodle_database.
Definition at line 1101 of file mysqli_native_moodle_database.php.
| sql_cast_char2real | ( | $ | fieldname, |
| $ | text = false |
||
| ) |
Returns the SQL to be used in order to CAST one CHAR column to REAL number.
Be aware that the CHAR column you're trying to cast contains really numbers or the RDBMS will throw an error!
| string | $fieldname | the name of the field to be casted |
| bool | $text | to specify if the original column is one TEXT (CLOB) column (true). Defaults to false. |
Reimplemented from moodle_database.
Definition at line 1105 of file mysqli_native_moodle_database.php.
| sql_concat | ( | ) |
Returns the proper SQL to do CONCAT between the elements passed Can take many parameters
| string | $str,... | 1 or more fields/strings to concat |
Reimplemented from moodle_database.
Definition at line 1146 of file mysqli_native_moodle_database.php.
| sql_concat_join | ( | $ | separator = "' '", |
| $ | elements = array() |
||
| ) |
Returns the proper SQL to do CONCAT between the elements passed with a given separator
| string | $separator | The string to use as the separator |
| array | $elements | An array of items to concatenate |
Reimplemented from moodle_database.
Definition at line 1163 of file mysqli_native_moodle_database.php.
| sql_length | ( | $ | fieldname | ) |
Returns the SQL text to be used to calculate the length in characters of one expression.
| string | fieldname or expression to calculate its length in characters. |
Reimplemented from moodle_database.
Definition at line 1177 of file mysqli_native_moodle_database.php.
| sql_like | ( | $ | fieldname, |
| $ | param, | ||
| $ | casesensitive = true, |
||
| $ | accentsensitive = true, |
||
| $ | notlike = false, |
||
| $ | escapechar = '\\' |
||
| ) |
Returns 'LIKE' part of a query.
| string | $fieldname | usually name of the table column |
| string | $param | usually bound query parameter (?, :named) |
| bool | $casesensitive | use case sensitive search |
| bool | $accensensitive | use accent sensitive search (not all databases support accent insensitive) |
| bool | $notlike | true means "NOT LIKE" |
| string | $escapechar | escape char for '' and '_' |
Reimplemented from moodle_database.
Definition at line 1120 of file mysqli_native_moodle_database.php.

Return regex positive or negative match sql
| bool | $positivematch |
Reimplemented from moodle_database.
Definition at line 1193 of file mysqli_native_moodle_database.php.
Does this driver support regex syntax when searching
Reimplemented from moodle_database.
Definition at line 1184 of file mysqli_native_moodle_database.php.
| transactions_supported | ( | ) | [protected] |
transactions
Are transactions supported? It is not responsible to run productions servers on databases without transaction support ;-)
MyISAM does not support support transactions.
You can override this via the dbtransactions option.
Reimplemented from moodle_database.
Definition at line 1258 of file mysqli_native_moodle_database.php.


| update_record | ( | $ | table, |
| $ | dataobject, | ||
| $ | bulk = false |
||
| ) |
Update a record in a table
$dataobject is an object containing needed data Relies on $dataobject having a variable "id" to specify the record to update
| string | $table | The database table to be checked against. |
| object | $dataobject | An object with contents equal to fieldname=>fieldvalue. Must have an entry for 'id' to map to the table specified. |
| bool | true means repeated updates expected |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 1017 of file mysqli_native_moodle_database.php.

| update_record_raw | ( | $ | table, |
| $ | params, | ||
| $ | bulk = false |
||
| ) |
Update record in database, as fast as possible, no safety checks, lobs not supported.
| string | $table | name |
| mixed | $params | data record as object or array |
| bool | true means repeated updates expected |
| dml_exception | if error |
Reimplemented from moodle_database.
Definition at line 971 of file mysqli_native_moodle_database.php.


$mysqli = null [protected] |
Definition at line 39 of file mysqli_native_moodle_database.php.