dolibarr  13.0.2
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
TraceableDB Class Reference

TraceableDB class. More...

+ Inheritance diagram for TraceableDB:
+ Collaboration diagram for TraceableDB:

Public Member Functions

 __construct ($db)
 Constructor. More...
 
 ifsql ($test, $resok, $resko)
 Format a SQL IF. More...
 
 fetch_row ($resultset)
 Return datas as an array. More...
 
 idate ($param, $gm= 'tzserver')
 Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date field. More...
 
 lasterrno ()
 Return last error code. More...
 
 begin ()
 Start transaction. More...
 
 DDLCreateDb ($database, $charset= '', $collation= '', $owner= '')
 Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We force to create database with charset this->forcecharset and collate this->forcecollate. More...
 
 getVersionArray ()
 Return version of database server into an array. More...
 
 affected_rows ($resultset)
 Return the number o flines into the result of a request INSERT, DELETE or UPDATE. More...
 
 error ()
 Return description of last error. More...
 
 DDLListTables ($database, $table= '')
 List tables into a database. More...
 
 lastquery ()
 Return last request executed with query() More...
 
 order ($sortfield=null, $sortorder=null)
 Define sort criteria of request. More...
 
 decrypt ($value)
 Decrypt sensitive data in database. More...
 
 fetch_array ($resultset)
 Return datas as an array. More...
 
 lasterror ()
 Return last error label. More...
 
 escape ($stringtoencode)
 Escape a string to insert data. More...
 
 last_insert_id ($tab, $fieldid= 'rowid')
 Get last ID after an insert INSERT. More...
 
 getPathOfRestore ()
 Return full path of restore program. More...
 
 rollback ($log= '')
 Cancel a transaction and go back to initial data values. More...
 
 query ($query, $usesavepoint=0, $type= 'auto')
 Execute a SQL request and return the resultset. More...
 
 connect ($host, $login, $passwd, $name, $port=0)
 Connexion to server. More...
 
 plimit ($limit=0, $offset=0)
 Define limits and offset of request. More...
 
 getServerParametersValues ($filter= '')
 Return value of server parameters. More...
 
 getServerStatusValues ($filter= '')
 Return value of server status. More...
 
 getDefaultCollationDatabase ()
 Return collation used in database. More...
 
 num_rows ($resultset)
 Return number of lines for result of a SELECT. More...
 
 getPathOfDump ()
 Return full path of dump program. More...
 
 getDriverInfo ()
 Return version of database client driver. More...
 
 errno ()
 Return generic error code of last operation. More...
 
 DDLCreateTable ($table, $fields, $primary_key, $type, $unique_keys=null, $fulltext_keys=null, $keys=null)
 Create a table into database. More...
 
 DDLDropTable ($table)
 Drop a table into database. More...
 
 getListOfCharacterSet ()
 Return list of available charset that can be used to store data in database. More...
 
 DDLAddField ($table, $field_name, $field_desc, $field_position="")
 Create a new field into table. More...
 
 DDLDropField ($table, $field_name)
 Drop a field from table. More...
 
 DDLUpdateField ($table, $field_name, $field_desc)
 Update format of a field into a table. More...
 
 getListOfCollation ()
 Return list of available collation that can be used for database. More...
 
 DDLDescTable ($table, $field="")
 Return a pointer of line with description of a table or field. More...
 
 getVersion ()
 Return version of database server. More...
 
 getDefaultCharacterSetDatabase ()
 Return charset used to store data in database. More...
 
 DDLCreateUser ($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name)
 Create a user and privileges to connect to database (even if database does not exists yet) More...
 
 jdate ($string, $gm=false)
 Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -> 3600 with TZ+1 and gmt=0 19700101020000 -> 7200 whaterver is TZ if gmt=1. More...
 
 encrypt ($fieldorvalue, $withQuotes=0)
 Encrypt sensitive data in database Warning: This function includes the escape, so it must use direct value. More...
 
 commit ($log= '')
 Validate a database transaction. More...
 
 DDLInfoTable ($table)
 List information of columns into a table. More...
 
 free ($resultset=null)
 Free last resultset used. More...
 
 close ()
 Close database connexion. More...
 
 lastqueryerror ()
 Return last query in error. More...
 
 DDLGetConnectId ()
 Return connexion ID. More...
 
 fetch_object ($resultset)
 Renvoie la ligne courante (comme un objet) pour le curseur resultset. More...
 
 select_db ($database)
 Select a database. More...
 
- Public Member Functions inherited from DoliDB
 ifsql ($test, $resok, $resko)
 Format a SQL IF. More...
 
 idate ($param, $gm= 'tzserver')
 Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date field. More...
 
 lasterrno ()
 Return last error code. More...
 
 sanitize ($stringtosanitize, $allowsimplequote=0)
 Sanitize a string for SQL forging. More...
 
 begin ()
 Start transaction. More...
 
 commit ($log= '')
 Validate a database transaction. More...
 
 rollback ($log= '')
 Cancel a transaction and go back to initial data values. More...
 
 plimit ($limit=0, $offset=0)
 Define limits and offset of request. More...
 
 getVersionArray ()
 Return version of database server into an array. More...
 
 lastquery ()
 Return last request executed with query() More...
 
 order ($sortfield=null, $sortorder=null)
 Define sort criteria of request. More...
 
 lasterror ()
 Return last error label. More...
 
 jdate ($string, $gm= 'tzserver')
 Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -> 3600 with TZ+1 and gmt=0 19700101020000 -> 7200 whaterver is TZ if gmt=1. More...
 
 lastqueryerror ()
 Return last query in error. More...
 
 getRow ($sql)
 Return first result from query as object Note : This method executes a given SQL query and retrieves the first row of results as an object. More...
 
 getRows ($sql)
 return all results from query as an array of objects Note : This method executes a given SQL query and retrieves all row of results as an array of objects. More...
 
- Public Member Functions inherited from Database
 idate ($param)
 Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date field. More...
 
 sanitize ($stringtosanitize)
 Sanitize a string for SQL forging. More...
 

Static Public Member Functions

static convertSQLFromMysql ($line, $type= 'ddl')
 Convert a SQL request in Mysql syntax to native syntax. More...
 

Public Attributes

const LABEL = ''
 Database label
 
const VERSIONMIN = ''
 Version min database
 

Protected Member Functions

 startTracing ()
 Start query tracing. More...
 
 endTracing ($sql, $resql)
 End query tracing. More...
 

Detailed Description

TraceableDB class.

Used to log queries into DebugBar

Definition at line 10 of file TraceableDB.php.

Constructor & Destructor Documentation

TraceableDB::__construct (   $db)

Constructor.

Parameters
DoliDB$dbDatabase handler

Definition at line 46 of file TraceableDB.php.

References db, and type.

Member Function Documentation

TraceableDB::affected_rows (   $resultset)

Return the number o flines into the result of a request INSERT, DELETE or UPDATE.

Parameters
resource$resultsetCurseur de la requete voulue
Returns
int Number of lines
See Also
num_rows()

Implements Database.

Definition at line 158 of file TraceableDB.php.

References db.

TraceableDB::begin ( )

Start transaction.

Returns
int 1 if transaction successfuly opened or already opened, 0 if error

Implements Database.

Definition at line 107 of file TraceableDB.php.

References db.

TraceableDB::close ( )

Close database connexion.

Returns
boolean True if disconnect successfull, false otherwise
See Also
connect()

Implements Database.

Definition at line 648 of file TraceableDB.php.

References db.

TraceableDB::commit (   $log = '')

Validate a database transaction.

Parameters
string$logAdd more log to default log line
Returns
int 1 if validation is OK or transaction level no started, 0 if ERROR

Implements Database.

Definition at line 615 of file TraceableDB.php.

References db.

TraceableDB::connect (   $host,
  $login,
  $passwd,
  $name,
  $port = 0 
)

Connexion to server.

Parameters
string$hostdatabase server host
string$loginlogin
string$passwdpassword
string$namename of database (not used for mysql, used for pgsql)
int$portPort of database server
Returns
resource Database access handler
See Also
close()

Implements Database.

Definition at line 354 of file TraceableDB.php.

References db.

static TraceableDB::convertSQLFromMysql (   $line,
  $type = 'ddl' 
)
static

Convert a SQL request in Mysql syntax to native syntax.

Parameters
string$lineSQL request line to convert
string$typeType of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
Returns
string SQL request line converted

Implements Database.

Definition at line 145 of file TraceableDB.php.

TraceableDB::DDLAddField (   $table,
  $field_name,
  $field_desc,
  $field_position = "" 
)

Create a new field into table.

Parameters
string$tableName of table
string$field_nameName of field to add
string$field_descTableau associatif de description du champ a inserer[nom du parametre][valeur du parametre]
string$field_positionOptionnel ex.: "after champtruc"
Returns
int <0 if KO, >0 if OK

Implements Database.

Definition at line 494 of file TraceableDB.php.

References db.

TraceableDB::DDLCreateDb (   $database,
  $charset = '',
  $collation = '',
  $owner = '' 
)

Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We force to create database with charset this->forcecharset and collate this->forcecollate.

Parameters
string$databaseDatabase name to create
string$charsetCharset used to store data
string$collationCharset used to sort data
string$ownerUsername of database owner
Returns
resource resource defined if OK, null if KO

Implements Database.

Definition at line 123 of file TraceableDB.php.

References db.

TraceableDB::DDLCreateTable (   $table,
  $fields,
  $primary_key,
  $type,
  $unique_keys = null,
  $fulltext_keys = null,
  $keys = null 
)

Create a table into database.

Parameters
string$tableName of table
array$fieldsTableau associatif [nom champ][tableau des descriptions]
string$primary_keyNom du champ qui sera la clef primaire
string$typeType de la table
array$unique_keysTableau associatifs Nom de champs qui seront clef unique => valeur
array$fulltext_keysTableau des Nom de champs qui seront indexes en fulltext
array$keysTableau des champs cles noms => valeur
Returns
int <0 if KO, >=0 if OK

Implements Database.

Definition at line 459 of file TraceableDB.php.

References db.

TraceableDB::DDLCreateUser (   $dolibarr_main_db_host,
  $dolibarr_main_db_user,
  $dolibarr_main_db_pass,
  $dolibarr_main_db_name 
)

Create a user and privileges to connect to database (even if database does not exists yet)

Parameters
string$dolibarr_main_db_hostIp serveur
string$dolibarr_main_db_userNom user a creer
string$dolibarr_main_db_passMot de passe user a creer
string$dolibarr_main_db_nameDatabase name where user must be granted
Returns
int <0 if KO, >=0 if OK

Implements Database.

Definition at line 575 of file TraceableDB.php.

References db.

TraceableDB::DDLDescTable (   $table,
  $field = "" 
)

Return a pointer of line with description of a table or field.

Parameters
string$tableName of table
string$fieldOptionnel : Name of field if we want description of field
Returns
resource Resource

Implements Database.

Definition at line 541 of file TraceableDB.php.

References db.

TraceableDB::DDLDropField (   $table,
  $field_name 
)

Drop a field from table.

Parameters
string$tableName of table
string$field_nameName of field to drop
Returns
int <0 if KO, >0 if OK

Implements Database.

Definition at line 506 of file TraceableDB.php.

References db.

TraceableDB::DDLDropTable (   $table)

Drop a table into database.

Parameters
string$tableName of table
Returns
int <0 if KO, >=0 if OK

Implements Database.

Definition at line 470 of file TraceableDB.php.

References db.

TraceableDB::DDLGetConnectId ( )

Return connexion ID.

Returns
string Id connexion

Implements Database.

Definition at line 668 of file TraceableDB.php.

References db.

TraceableDB::DDLInfoTable (   $table)

List information of columns into a table.

Parameters
string$tableName of table
Returns
array Array with inforation on table

Implements Database.

Definition at line 626 of file TraceableDB.php.

References db.

TraceableDB::DDLListTables (   $database,
  $table = '' 
)

List tables into a database.

Parameters
string$databaseName of database
string$tableNmae of table filter ('xxx')
Returns
array List of tables in an array

Implements Database.

Definition at line 181 of file TraceableDB.php.

References db.

TraceableDB::DDLUpdateField (   $table,
  $field_name,
  $field_desc 
)

Update format of a field into a table.

Parameters
string$tableName of table
string$field_nameName of field to modify
string$field_descArray with description of field format
Returns
int <0 if KO, >0 if OK

Implements Database.

Definition at line 519 of file TraceableDB.php.

References db.

TraceableDB::decrypt (   $value)

Decrypt sensitive data in database.

Parameters
string$valueValue to decrypt
Returns
string Decrypted value if used

Implements Database.

Definition at line 214 of file TraceableDB.php.

References db.

TraceableDB::encrypt (   $fieldorvalue,
  $withQuotes = 0 
)

Encrypt sensitive data in database Warning: This function includes the escape, so it must use direct value.

Parameters
string$fieldorvalueField name or value to encrypt
int$withQuotesReturn string with quotes
Returns
string XXX(field) or XXX('value') or field or 'value'

Implements Database.

Definition at line 604 of file TraceableDB.php.

References db.

TraceableDB::endTracing (   $sql,
  $resql 
)
protected

End query tracing.

Parameters
string$sqlquery string
string$resqlquery result
Returns
void

Definition at line 326 of file TraceableDB.php.

References $resql, and db.

Referenced by query().

TraceableDB::errno ( )

Return generic error code of last operation.

Returns
string Error code (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...)

Implements Database.

Definition at line 442 of file TraceableDB.php.

References db.

TraceableDB::error ( )

Return description of last error.

Returns
string Error text

Implements Database.

Definition at line 169 of file TraceableDB.php.

References db.

TraceableDB::escape (   $stringtoencode)

Escape a string to insert data.

Parameters
string$stringtoencodeString to escape
Returns
string String escaped

Implements Database.

Definition at line 248 of file TraceableDB.php.

References db.

TraceableDB::fetch_array (   $resultset)

Return datas as an array.

Parameters
resource$resultsetResultset of request
Returns
array Array

Implements Database.

Definition at line 226 of file TraceableDB.php.

References db.

TraceableDB::fetch_object (   $resultset)

Renvoie la ligne courante (comme un objet) pour le curseur resultset.

Parameters
resource$resultsetCurseur de la requete voulue
Returns
Object Object result line or false if KO or end of cursor

Implements Database.

Definition at line 680 of file TraceableDB.php.

References db.

TraceableDB::fetch_row (   $resultset)

Return datas as an array.

Parameters
resource$resultsetResultset of request
Returns
array Array

Implements Database.

Definition at line 73 of file TraceableDB.php.

References db.

TraceableDB::free (   $resultset = null)

Free last resultset used.

Parameters
resource$resultsetFre cursor
Returns
void

Implements Database.

Definition at line 637 of file TraceableDB.php.

References db.

TraceableDB::getDefaultCharacterSetDatabase ( )

Return charset used to store data in database.

Returns
string Charset

Implements Database.

Definition at line 561 of file TraceableDB.php.

References db.

TraceableDB::getDefaultCollationDatabase ( )

Return collation used in database.

Returns
string Collation value

Implements Database.

Definition at line 398 of file TraceableDB.php.

References db.

TraceableDB::getDriverInfo ( )

Return version of database client driver.

Returns
string Version string

Implements Database.

Definition at line 432 of file TraceableDB.php.

References db.

TraceableDB::getListOfCharacterSet ( )

Return list of available charset that can be used to store data in database.

Returns
array List of Charset

Implements Database.

Definition at line 480 of file TraceableDB.php.

References db.

TraceableDB::getListOfCollation ( )

Return list of available collation that can be used for database.

Returns
array List of Collation

Implements Database.

Definition at line 529 of file TraceableDB.php.

References db.

TraceableDB::getPathOfDump ( )

Return full path of dump program.

Returns
string Full path of dump program

Implements Database.

Definition at line 422 of file TraceableDB.php.

References db.

TraceableDB::getPathOfRestore ( )

Return full path of restore program.

Returns
string Full path of restore program

Implements Database.

Definition at line 272 of file TraceableDB.php.

References db.

TraceableDB::getServerParametersValues (   $filter = '')

Return value of server parameters.

Parameters
string$filterFilter list on a particular value
Returns
array Array of key-values (key=>value)

Implements Database.

Definition at line 377 of file TraceableDB.php.

References db.

TraceableDB::getServerStatusValues (   $filter = '')

Return value of server status.

Parameters
string$filterFilter list on a particular value
Returns
array Array of key-values (key=>value)

Implements Database.

Definition at line 388 of file TraceableDB.php.

References db.

TraceableDB::getVersion ( )

Return version of database server.

Returns
string Version string

Implements Database.

Definition at line 551 of file TraceableDB.php.

References db.

TraceableDB::getVersionArray ( )

Return version of database server into an array.

Returns
array Version array

Implements Database.

Definition at line 133 of file TraceableDB.php.

References db.

TraceableDB::idate (   $param,
  $gm = 'tzserver' 
)

Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date field.

Function to use to build INSERT, UPDATE or WHERE predica

Parameters
int$paramDate TMS to convert
mixed$gm'gmt'=Input informations are GMT values, 'tzserver'=Local to server TZ
Returns
string Date in a string YYYY-MM-DD HH:MM:SS

Definition at line 87 of file TraceableDB.php.

References db.

TraceableDB::ifsql (   $test,
  $resok,
  $resko 
)

Format a SQL IF.

Parameters
string$testTest string (example: 'cd.statut=0', 'field IS NULL')
string$resokresultat si test egal
string$reskoresultat si test non egal
Returns
string SQL string

Implements Database.

Definition at line 61 of file TraceableDB.php.

References db.

TraceableDB::jdate (   $string,
  $gm = false 
)

Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -> 3600 with TZ+1 and gmt=0 19700101020000 -> 7200 whaterver is TZ if gmt=1.

Parameters
string$stringDate in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS)
bool$gm1=Input informations are GMT values, otherwise local to server TZ
Returns
int|string Date TMS or ''

Implements Database.

Definition at line 590 of file TraceableDB.php.

References db.

TraceableDB::last_insert_id (   $tab,
  $fieldid = 'rowid' 
)

Get last ID after an insert INSERT.

Parameters
string$tabTable name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql
string$fieldidField name
Returns
int Id of row

Implements Database.

Definition at line 261 of file TraceableDB.php.

References db.

TraceableDB::lasterrno ( )

Return last error code.

Returns
string lasterrno

Implements Database.

Definition at line 97 of file TraceableDB.php.

References db.

TraceableDB::lasterror ( )

Return last error label.

Returns
string lasterror

Implements Database.

Definition at line 237 of file TraceableDB.php.

References db.

TraceableDB::lastquery ( )

Return last request executed with query()

Returns
string Last query

Implements Database.

Definition at line 191 of file TraceableDB.php.

References db.

TraceableDB::lastqueryerror ( )

Return last query in error.

Returns
string lastqueryerror

Implements Database.

Definition at line 658 of file TraceableDB.php.

References db.

TraceableDB::num_rows (   $resultset)

Return number of lines for result of a SELECT.

Parameters
resource$resultsetResulset of requests
Returns
int Nb of lines
See Also
affected_rows()

Implements Database.

Definition at line 411 of file TraceableDB.php.

References db.

TraceableDB::order (   $sortfield = null,
  $sortorder = null 
)

Define sort criteria of request.

Parameters
string$sortfieldList of sort fields
string$sortorderSort order
Returns
string String to provide syntax of a sort sql string

Implements Database.

Definition at line 203 of file TraceableDB.php.

References db.

TraceableDB::plimit (   $limit = 0,
  $offset = 0 
)

Define limits and offset of request.

Parameters
int$limitMaximum number of lines returned (-1=conf->liste_limit, 0=no limit)
int$offsetNumero of line from where starting fetch
Returns
string String with SQL syntax to add a limit and offset

Implements Database.

Definition at line 366 of file TraceableDB.php.

References db.

TraceableDB::query (   $query,
  $usesavepoint = 0,
  $type = 'auto' 
)

Execute a SQL request and return the resultset.

Parameters
string$querySQL query string
int$usesavepoint0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints.
string$typeType of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...)
Returns
resource Resultset of answer

Implements Database.

Definition at line 297 of file TraceableDB.php.

References $resql, db, endTracing(), and startTracing().

TraceableDB::rollback (   $log = '')

Cancel a transaction and go back to initial data values.

Parameters
string$logAdd more log to default log line
Returns
resource|int 1 if cancelation is ok or transaction not open, 0 if error

Implements Database.

Definition at line 283 of file TraceableDB.php.

References db.

TraceableDB::select_db (   $database)

Select a database.

Parameters
string$databaseName of database
Returns
boolean true if OK, false if KO

Implements Database.

Definition at line 693 of file TraceableDB.php.

References db.

TraceableDB::startTracing ( )
protected

Start query tracing.

Returns
void

Definition at line 313 of file TraceableDB.php.

Referenced by query().


The documentation for this class was generated from the following file: