Moodle  2.2.1
http://www.collinsharper.com
moodle_database_for_testing Class Reference
Inheritance diagram for moodle_database_for_testing:
Collaboration diagram for moodle_database_for_testing:

Public Member Functions

 public_fix_table_names ($sql)
 driver_installed ()
 get_dbfamily ()
 get_name ()
 get_configuration_help ()
 get_configuration_hints ()
 connect ($dbhost, $dbuser, $dbpass, $dbname, $prefix, array $dboptions=null)
 get_server_info ()
 get_last_error ()
 get_tables ($usecache=true)
 get_indexes ($table)
 get_columns ($table, $usecache=true)
 set_debug ($state)
 get_debug ()
 set_logging ($state)
 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_concat ()
 sql_concat_join ($separator="' '", $elements=array())
 sql_substr ($expr, $start, $length=false)
 begin_transaction ()
 commit_transaction ()
 rollback_transaction ()

Protected Member Functions

 get_dbtype ()
 get_dblibrary ()
 allowed_param_types ()
 normalise_value ($column, $value)

Protected Attributes

 $prefix = 'mdl_'

Detailed Description

This class is not a proper subclass of moodle_database. It is intended to be used only in unit tests, in order to gain access to the protected methods of moodle_database, and unit test them.

Definition at line 4465 of file testdml.php.


Member Function Documentation

allowed_param_types ( ) [protected]

Returns supported query parameter types

Returns:
int bitmask

Reimplemented from moodle_database.

Definition at line 4481 of file testdml.php.

Driver specific start of real database transaction, this can not be used directly in code.

Returns:
void

Reimplemented from moodle_database.

Definition at line 4505 of file testdml.php.

Do NOT use in code, to be used by database_manager only!

Parameters:
string$sqlquery
Returns:
bool true
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4490 of file testdml.php.

Driver specific commit of real database transaction, this can not be used directly in code.

Returns:
void

Reimplemented from moodle_database.

Definition at line 4506 of file testdml.php.

connect ( dbhost,
dbuser,
dbpass,
dbname,
prefix,
array dboptions = null 
)

Connect to db Must be called before other methods.

Parameters:
string$dbhost
string$dbuser
string$dbpass
string$dbname
mixed$prefixstring means moodle db prefix, false used for external databases where prefix not used
array$dboptionsdriver specific options
Returns:
bool true
Exceptions:
dml_connection_exceptionif error

Reimplemented from moodle_database.

Definition at line 4479 of file testdml.php.

delete_records_select ( table,
select,
array params = null 
)

Delete one or more records from a table which match a particular WHERE clause.

Parameters:
string$tableThe database table to be checked against.
string$selectA fragment of SQL to be used in a where clause in the SQL call (used to define the selection criteria).
array$paramsarray of sql parameters
Returns:
bool true.
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4501 of file testdml.php.

Detects if all needed PHP stuff installed. Note: can be used before connect()

Returns:
mixed true if ok, string if something

Reimplemented from moodle_database.

Definition at line 4472 of file testdml.php.

execute ( sql,
array params = null 
)

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!

Parameters:
string$sqlquery
array$paramsquery parameters
Returns:
bool true
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4491 of file testdml.php.

get_columns ( table,
usecache = true 
)

Returns detailed information about columns in table. This information is cached internally.

Parameters:
string$tablename
bool$usecache
Returns:
array of database_column_info objects indexed with column names

Reimplemented from moodle_database.

Definition at line 4485 of file testdml.php.

Returns localised database configuration help. Note: can be used before connect()

Returns:
string

Reimplemented from moodle_database.

Definition at line 4477 of file testdml.php.

Returns localised database description Note: can be used before connect()

Returns:
string

Reimplemented from moodle_database.

Definition at line 4478 of file testdml.php.

Returns database family type - describes SQL dialect Note: can be used before connect()

Returns:
string db family name (mysql, postgres, mssql, oracle, etc.)

Reimplemented from moodle_database.

Definition at line 4473 of file testdml.php.

get_dblibrary ( ) [protected]

Returns general database library name Note: can be used before connect()

Returns:
string db type pdo, native

Reimplemented from moodle_database.

Definition at line 4475 of file testdml.php.

get_dbtype ( ) [protected]

Returns more specific database driver type Note: can be used before connect()

Returns:
string db type mysqli, pgsql, oci, mssql, sqlsrv

Reimplemented from moodle_database.

Definition at line 4474 of file testdml.php.

get_debug ( )

Returns debug status

Returns:
bool $state

Reimplemented from moodle_database.

Definition at line 4488 of file testdml.php.

get_fieldset_sql ( sql,
array params = null 
)

Selects records and return values (first field) as an array using a SQL statement.

Parameters:
string$sqlThe SQL query
array$paramsarray of sql parameters
Returns:
array of values
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4494 of file testdml.php.

get_indexes ( table)

Return table indexes - everything lowercased

Returns:
array of arrays

Reimplemented from moodle_database.

Definition at line 4484 of file testdml.php.

Returns last error reported by database engine.

Returns:
string error message

Reimplemented from moodle_database.

Definition at line 4482 of file testdml.php.

get_name ( )

Returns localised database type name Note: can be used before connect()

Returns:
string

Reimplemented from moodle_database.

Definition at line 4476 of file testdml.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

See also:
function get_records.
Parameters:
string$sqlthe 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$paramsarray of sql parameters
int$limitfromreturn a subset of records, starting at this point (optional, required if $limitnum is set).
int$limitnumreturn a subset comprising this many records (optional, required if $limitfrom is set).
Returns:
array of objects indexed by first column
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4493 of file testdml.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

See also:
function get_recordset.
Parameters:
string$sqlthe SQL select query to execute.
array$paramsarray of sql parameters
int$limitfromreturn a subset of records, starting at this point (optional, required if $limitnum is set).
int$limitnumreturn a subset comprising this many records (optional, required if $limitfrom is set).
Returns:
moodle_recordset instance
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4492 of file testdml.php.

Returns database server info array

Returns:
array

Reimplemented from moodle_database.

Definition at line 4480 of file testdml.php.

get_tables ( usecache = true)

Return tables in database WITHOUT current prefix

Returns:
array of table names in lowercase and without prefix

Reimplemented from moodle_database.

Definition at line 4483 of file testdml.php.

import_record ( table,
dataobject 
)

Import a record into a table, id field is required. Safety checks are NOT carried out. Lobs are supported.

Parameters:
string$tablename of database table to be inserted into
object$dataobjectA data object with values for one or more fields in the record
Returns:
bool true
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4497 of file testdml.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

Parameters:
string$tableThe database table to be inserted into
object$dataA data object with values for one or more fields in the record
bool$returnidShould the id of the newly created record entry be returned? If this option is not requested then true/false is returned.
Returns:
bool|int true or new id
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4496 of file testdml.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.

Parameters:
string$tablename
mixed$paramsdata record as object or array
bool$returnitreturn it of inserted record
bool$bulktrue means repeated inserts expected
bool$customsequencetrue if 'id' included in $params, disables $returnid
Returns:
bool|int true or new id
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4495 of file testdml.php.

normalise_value ( column,
value 
) [protected]

Normalise values based in RDBMS dependencies (booleans, LOBs...)

Parameters:
database_column_info$columncolumn metadata corresponding with the value we are going to normalise
mixed$valuevalue we are going to normalise
Returns:
mixed the normalised value

Reimplemented from moodle_database.

Definition at line 4486 of file testdml.php.

Definition at line 4468 of file testdml.php.

Here is the call graph for this function:

Driver specific abort of real database transaction, this can not be used directly in code.

Returns:
void

Reimplemented from moodle_database.

Definition at line 4507 of file testdml.php.

set_debug ( state)

Enable/disable very detailed debugging

Parameters:
bool$state
Returns:
void

Reimplemented from moodle_database.

Definition at line 4487 of file testdml.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.

Parameters:
string$tableThe database table to be checked against.
string$newfieldthe field to set.
string$newvaluethe value to set the field to.
string$selectA fragment of SQL to be used in a where clause in the SQL call.
array$paramsarray of sql parameters
Returns:
bool true
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4500 of file testdml.php.

set_logging ( state)

Enable/disable detailed sql logging

Parameters:
bool$state

Reimplemented from moodle_database.

Definition at line 4489 of file testdml.php.

Returns the proper SQL to do CONCAT between the elements passed Can take many parameters

This function accepts variable number of string parameters.

Returns:
string

Reimplemented from moodle_database.

Definition at line 4502 of file testdml.php.

sql_concat_join ( separator = "' '",
elements = array() 
)

Returns the proper SQL to do CONCAT between the elements passed with a given separator

Parameters:
string$separator
array$elements
Returns:
string

Reimplemented from moodle_database.

Definition at line 4503 of file testdml.php.

sql_substr ( expr,
start,
length = false 
)

Returns the proper substr() SQL text used to extract substrings from DB NOTE: this was originally returning only function name

Parameters:
string$exprsome string field, no aggregates
mixed$startinteger or expression evaluating to int (1 based value; first char has index 1)
mixed$lengthoptional integer or expression evaluating to int
Returns:
string sql fragment

Reimplemented from moodle_database.

Definition at line 4504 of file testdml.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

Parameters:
string$tableThe database table to be checked against.
object$dataobjectAn object with contents equal to fieldname=>fieldvalue. Must have an entry for 'id' to map to the table specified.
booltrue means repeated updates expected
Returns:
bool true
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4499 of file testdml.php.

update_record_raw ( table,
params,
bulk = false 
)

Update record in database, as fast as possible, no safety checks, lobs not supported.

Parameters:
string$tablename
mixed$paramsdata record as object or array
booltrue means repeated updates expected
Returns:
bool true
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 4498 of file testdml.php.


Field Documentation

$prefix = 'mdl_' [protected]

Reimplemented from moodle_database.

Definition at line 4466 of file testdml.php.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Enumerations