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

Public Member Functions

 driver_installed ()
 get_dbfamily ()
 get_name ()
 get_configuration_help ()
 get_configuration_hints ()
 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_like ($fieldname, $param, $casesensitive=true, $accentsensitive=true, $notlike=false, $escapechar= '\\')
 sql_ilike ()
 sql_bitxor ($int1, $int2)
 sql_cast_char2int ($fieldname, $text=false)
 sql_cast_char2real ($fieldname, $text=false)
 sql_concat ()
 sql_concat_join ($separator="' '", $elements=array())
 sql_regex_supported ()
 sql_regex ($positivematch=true)
 session_lock_supported ()
 session locking
 get_session_lock ($rowid, $timeout)
 release_session_lock ($rowid)

Protected Member Functions

 get_dbtype ()
 get_dblibrary ()
 query_start ($sql, array $params=null, $type, $extrainfo=null)
 query_end ($result)
 is_min_version ($version)
 allowed_param_types ()
 normalise_value ($column, $value)
 create_recordset ($result)
 begin_transaction ()
 transactions
 commit_transaction ()
 rollback_transaction ()

Protected Attributes

 $pgsql = null
 $bytea_oid = null
 $last_error_reporting

Detailed Description

Native pgsql class representing moodle database interface.

Definition at line 37 of file pgsql_native_moodle_database.php.


Member Function Documentation

allowed_param_types ( ) [protected]

Returns supported query parameter types

Returns:
int bitmask

Reimplemented from moodle_database.

Definition at line 259 of file pgsql_native_moodle_database.php.

begin_transaction ( ) [protected]

transactions

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

Returns:
void

Reimplemented from moodle_database.

Definition at line 1234 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 568 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

commit_transaction ( ) [protected]

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

Returns:
void

Reimplemented from moodle_database.

Definition at line 1248 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 122 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

create_recordset ( result) [protected]

Definition at line 642 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

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 1061 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 201 of file pgsql_native_moodle_database.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 49 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

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 587 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

get_columns ( table,
usecache = true 
)

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

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

Reimplemented from moodle_database.

Definition at line 345 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Returns:
string

Reimplemented from moodle_database.

Definition at line 97 of file pgsql_native_moodle_database.php.

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

Returns:
string

Reimplemented from moodle_database.

Definition at line 106 of file pgsql_native_moodle_database.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 61 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

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 79 of file pgsql_native_moodle_database.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 70 of file pgsql_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.

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 722 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

get_indexes ( table)

Return table indexes - everything lowercased

Returns:
array of arrays

Reimplemented from moodle_database.

Definition at line 309 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Returns last error reported by database engine.

Returns:
string error message

Reimplemented from moodle_database.

Definition at line 267 of file pgsql_native_moodle_database.php.

get_name ( )

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

Returns:
string

Reimplemented from moodle_database.

Definition at line 88 of file pgsql_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

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, or empty array if no records were found
Exceptions:
dml_exceptionif error

Reimplemented from moodle_database.

Definition at line 660 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 618 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Returns database server info array

Returns:
array

Reimplemented from moodle_database.

Definition at line 239 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Here is the caller graph for this function:

get_session_lock ( rowid,
timeout 
)

Obtain session lock

Parameters:
int$rowidid of the row with session record
int$timeoutmax allowed time to wait for the lock in seconds
Returns:
bool success

Reimplemented from moodle_database.

Definition at line 1162 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 275 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 862 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 808 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 745 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Here is the caller graph for this function:

is_min_version ( version) [protected]

Definition at line 249 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 524 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

query_end ( result) [protected]

Called immediately after each db query.

Parameters:
mixeddb specific result
Returns:
void

Reimplemented from moodle_database.

Definition at line 229 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

query_start ( sql,
array params = null,
type,
extrainfo = null 
) [protected]

Called before each db query.

Parameters:
string$sql
arrayarray of parameters
int$typetype of query
mixed$extrainfodriver specific extra information
Returns:
void

Reimplemented from moodle_database.

Definition at line 218 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

release_session_lock ( rowid)

Release session lock

Parameters:
int$rowidid of the row with session record
Returns:
bool success

Reimplemented from moodle_database.

Definition at line 1212 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

rollback_transaction ( ) [protected]

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

Returns:
void

Reimplemented from moodle_database.

Definition at line 1262 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

session locking

Reimplemented from moodle_database.

Definition at line 1152 of file pgsql_native_moodle_database.php.

Here is the caller graph for this function:

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

Get column metadata

Update BYTEA and return

Reimplemented from moodle_database.

Definition at line 1008 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Is db in unicode mode?

Returns:
bool

Get PostgreSQL server_encoding value

Reimplemented from moodle_database.

Definition at line 545 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

sql_bitxor ( int1,
int2 
)

Returns the SQL text to be used in order to perform one bitwise XOR operation between 2 integers.

NOTE: The SQL result is a number and can not be used directly in SQL condition, please compare it to some number to get a bool!!

Parameters:
int$int1first integer in the operation
int$int2second integer in the operation
Returns:
string the piece of SQL code to be used in your statement.

Reimplemented from moodle_database.

Definition at line 1109 of file pgsql_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!

Parameters:
string$fieldnamethe name of the field to be casted
bool$textto specify if the original column is one TEXT (CLOB) column (true). Defaults to false.
Returns:
string the piece of SQL code to be used in your statement.

Reimplemented from moodle_database.

Definition at line 1113 of file pgsql_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!

Parameters:
string$fieldnamethe name of the field to be casted
bool$textto specify if the original column is one TEXT (CLOB) column (true). Defaults to false.
Returns:
string the piece of SQL code to be used in your statement.

Reimplemented from moodle_database.

Definition at line 1117 of file pgsql_native_moodle_database.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 1121 of file pgsql_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

Parameters:
string$separator
array$elements
Returns:
string

Reimplemented from moodle_database.

Definition at line 1132 of file pgsql_native_moodle_database.php.

sql_ilike ( )

Returns the proper SQL to do LIKE in a case-insensitive way.

Note the LIKE are case sensitive for Oracle. Oracle 10g is required to use the case insensitive search using regexp_like() or NLS_COMP=LINGUISTIC :-( See http://docs.moodle.org/en/XMLDB_Problems#Case-insensitive_searches

Deprecated:
Returns:
string

Reimplemented from moodle_database.

Definition at line 1104 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

sql_like ( fieldname,
param,
casesensitive = true,
accentsensitive = true,
notlike = false,
escapechar = '\\' 
)

Returns 'LIKE' part of a query.

Parameters:
string$fieldnameusually name of the table column
string$paramusually bound query parameter (?, :named)
bool$casesensitiveuse case sensitive search
bool$accensensitiveuse accent sensitive search (not all databases support accent insensitive)
bool$notliketrue means "NOT LIKE"
string$escapecharescape char for '' and '_'
Returns:
string SQL code fragment

Reimplemented from moodle_database.

Definition at line 1089 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

sql_regex ( positivematch = true)

Return regex positive or negative match sql

Parameters:
bool$positivematch
Returns:
string or empty if not supported

Reimplemented from moodle_database.

Definition at line 1147 of file pgsql_native_moodle_database.php.

Does this driver suppoer regex syntax when searching

Returns:
bool

Reimplemented from moodle_database.

Definition at line 1143 of file pgsql_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

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 955 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

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 909 of file pgsql_native_moodle_database.php.

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

$bytea_oid = null [protected]

Definition at line 40 of file pgsql_native_moodle_database.php.

$last_error_reporting [protected]

Definition at line 42 of file pgsql_native_moodle_database.php.

$pgsql = null [protected]

Definition at line 39 of file pgsql_native_moodle_database.php.


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