| dolibarr 18.0.8
    | 
Class to drive a Postgresql database for Dolibarr. More...


| Public Member Functions | |
| __construct ($type, $host, $user, $pass, $name='', $port=0) | |
| Constructor. | |
| select_db ($database) | |
| Select a database Ici postgresql n'a aucune fonction equivalente de mysql_select_db On compare juste manuellement si la database choisie est bien celle activee par la connexion. | |
| connect ($host, $login, $passwd, $name, $port=0) | |
| Connexion to server. | |
| getVersion () | |
| Return version of database server. | |
| getDriverInfo () | |
| Return version of database client driver. | |
| close () | |
| Close database connexion. | |
| query ($query, $usesavepoint=0, $type='auto', $result_mode=0) | |
| Convert request to PostgreSQL syntax, execute it and return the resultset. | |
| fetch_object ($resultset) | |
| Returns the current line (as an object) for the resultset cursor. | |
| fetch_array ($resultset) | |
| Return datas as an array. | |
| fetch_row ($resultset) | |
| Return datas as an array. | |
| num_rows ($resultset) | |
| Return number of lines for result of a SELECT. | |
| affected_rows ($resultset) | |
| Return the number of lines in the result of a request INSERT, DELETE or UPDATE. | |
| free ($resultset=null) | |
| Libere le dernier resultset utilise sur cette connexion. | |
| plimit ($limit=0, $offset=0) | |
| Define limits and offset of request. | |
| escape ($stringtoencode) | |
| Escape a string to insert data. | |
| escapeforlike ($stringtoencode) | |
| Escape a string to insert data into a like. | |
| ifsql ($test, $resok, $resko) | |
| Format a SQL IF. | |
| regexpsql ($subject, $pattern, $sqlstring=false) | |
| Format a SQL REGEXP. | |
| errno () | |
| Renvoie le code erreur generique de l'operation precedente. | |
| error () | |
| Renvoie le texte de l'erreur pgsql de l'operation precedente. | |
| last_insert_id ($tab, $fieldid='rowid') | |
| Get last ID after an insert INSERT. | |
| encrypt ($fieldorvalue, $withQuotes=1) | |
| Encrypt sensitive data in database Warning: This function includes the escape and add the SQL simple quotes on strings. | |
| decrypt ($value) | |
| Decrypt sensitive data in database. | |
| DDLGetConnectId () | |
| Return connexion ID. | |
| 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. | |
| DDLListTables ($database, $table='') | |
| List tables into a database. | |
| DDLListTablesFull ($database, $table='') | |
| List tables into a database. | |
| DDLInfoTable ($table) | |
| List information of columns into a table. | |
| DDLCreateTable ($table, $fields, $primary_key, $type, $unique_keys=null, $fulltext_keys=null, $keys=null) | |
| Create a table into database. | |
| DDLDropTable ($table) | |
| Drop a table into database. | |
| DDLCreateUser ($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name) | |
| Create a user to connect to database. | |
| DDLDescTable ($table, $field="") | |
| Return a pointer of line with description of a table or field. | |
| DDLAddField ($table, $field_name, $field_desc, $field_position="") | |
| Create a new field into table. | |
| DDLUpdateField ($table, $field_name, $field_desc) | |
| Update format of a field into a table. | |
| DDLDropField ($table, $field_name) | |
| Drop a field from table. | |
| getDefaultCharacterSetDatabase () | |
| Return charset used to store data in database. | |
| getListOfCharacterSet () | |
| Return list of available charset that can be used to store data in database. | |
| getDefaultCollationDatabase () | |
| Return collation used in database. | |
| getListOfCollation () | |
| Return list of available collation that can be used for database. | |
| getPathOfDump () | |
| Return full path of dump program. | |
| getPathOfRestore () | |
| Return full path of restore program. | |
| getServerParametersValues ($filter='') | |
| Return value of server parameters. | |
| getServerStatusValues ($filter='') | |
| Return value of server status. | |
|  Public Member Functions inherited from DoliDB | |
| prefix () | |
| Return the DB prefix found into prefix_db (if it was set manually by doing $dbhandler->prefix_db=...). | |
| hintindex ($nameofindex) | |
| Return SQL string to force an index. | |
| 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. | |
| lasterrno () | |
| Return last error code. | |
| sanitize ($stringtosanitize, $allowsimplequote=0, $allowsequals=0, $allowsspace=0) | |
| Sanitize a string for SQL forging. | |
| begin ($textinlog='') | |
| Start transaction. | |
| commit ($log='') | |
| Validate a database transaction. | |
| rollback ($log='') | |
| Cancel a transaction and go back to initial data values. | |
| getVersionArray () | |
| Return version of database server into an array. | |
| lastquery () | |
| Return last request executed with query() | |
| order ($sortfield='', $sortorder='') | |
| Define sort criteria of request. | |
| lasterror () | |
| Return last error label. | |
| jdate ($string, $gm='tzserver') | |
| Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -> 3600 with server TZ = +1 and $gm='tzserver' 19700101020000 -> 7200 whaterver is server TZ if $gm='gmt'. | |
| lastqueryerror () | |
| Return last query in error. | |
| 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. | |
| 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. | |
|  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. | |
| sanitize ($stringtosanitize) | |
| Sanitize a string for SQL forging. | |
| Static Public Member Functions | |
| static | convertSQLFromMysql ($line, $type='auto', $unescapeslashquot=false) | 
| Convert a SQL request in Mysql syntax to native syntax. | |
|  Static Public Member Functions inherited from Database | |
| static | convertSQLFromMysql ($line, $type='ddl') | 
| Convert a SQL request in Mysql syntax to native syntax. | |
| Public Attributes | |
| $type = 'pgsql' | |
| Database type. | |
| const | LABEL = 'PostgreSQL' | 
| Database label. | |
| $forcecharset = 'UTF8' | |
| Charset. | |
| $forcecollate = '' | |
| Collate used to force collate when creating database. | |
| const | VERSIONMIN = '9.0.0' | 
| Version min database. | |
Class to drive a Postgresql database for Dolibarr.
Definition at line 36 of file pgsql.class.php.
| DoliDBPgsql::__construct | ( | $type, | |
| $host, | |||
| $user, | |||
| $pass, | |||
| $name = '', | |||
| $port = 0 ) | 
Constructor.
This create an opened connexion to a database server and eventually to a database
| string | $type | Type of database (mysql, pgsql...) | 
| string | $host | Address of database server | 
| string | $user | Nom de l'utilisateur autorise | 
| string | $pass | Mot de passe | 
| string | $name | Nom de la database | 
| int | $port | Port of database server | 
Definition at line 71 of file pgsql.class.php.
References connect(), dol_syslog(), error(), and select_db().
| DoliDBPgsql::affected_rows | ( | $resultset | ) | 
Return the number of lines in the result of a request INSERT, DELETE or UPDATE.
| resource | $resultset | Result set of request | 
Implements Database.
Definition at line 657 of file pgsql.class.php.
| DoliDBPgsql::close | ( | ) | 
Close database connexion.
Implements Database.
Definition at line 487 of file pgsql.class.php.
References dol_syslog().
| DoliDBPgsql::connect | ( | $host, | |
| $login, | |||
| $passwd, | |||
| $name, | |||
| $port = 0 ) | 
Connexion to server.
| string | $host | Database server host | 
| string | $login | Login | 
| string | $passwd | Password | 
| string | $name | Name of database (not used for mysql, used for pgsql) | 
| integer | $port | Port of database server | 
Implements Database.
Definition at line 402 of file pgsql.class.php.
Referenced by __construct().
| 
 | static | 
Convert a SQL request in Mysql syntax to native syntax.
| string | $line | SQL request line to convert | 
| string | $type | Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) | 
| bool | $unescapeslashquot | Unescape slash quote with quote quote | 
Definition at line 152 of file pgsql.class.php.
References $type.
Referenced by query().
| DoliDBPgsql::DDLAddField | ( | $table, | |
| $field_name, | |||
| $field_desc, | |||
| $field_position = "" ) | 
Create a new field into table.
| string | $table | Name of table | 
| string | $field_name | Name of field to add | 
| string | $field_desc | Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre] | 
| string | $field_position | Optionnel ex.: "after champtruc" | 
Implements Database.
Definition at line 1206 of file pgsql.class.php.
References dol_syslog(), and query().
| DoliDBPgsql::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.
| string | $database | Database name to create | 
| string | $charset | Charset used to store data | 
| string | $collation | Charset used to sort data | 
| string | $owner | Username of database owner | 
Implements Database.
Definition at line 932 of file pgsql.class.php.
References $forcecharset, $forcecollate, dol_syslog(), escape(), and query().
| DoliDBPgsql::DDLCreateTable | ( | $table, | |
| $fields, | |||
| $primary_key, | |||
| $type, | |||
| $unique_keys = null, | |||
| $fulltext_keys = null, | |||
| $keys = null ) | 
Create a table into database.
| string | $table | Nom de la table | 
| array | $fields | Tableau associatif [nom champ][tableau des descriptions] | 
| string | $primary_key | Nom du champ qui sera la clef primaire | 
| string | $type | Type de la table | 
| array | $unique_keys | Tableau associatifs Nom de champs qui seront clef unique => valeur | 
| array | $fulltext_keys | Tableau des Nom de champs qui seront indexes en fulltext | 
| array | $keys | Tableau des champs cles noms => valeur | 
Implements Database.
Definition at line 1061 of file pgsql.class.php.
References dol_syslog(), escape(), and query().
| DoliDBPgsql::DDLCreateUser | ( | $dolibarr_main_db_host, | |
| $dolibarr_main_db_user, | |||
| $dolibarr_main_db_pass, | |||
| $dolibarr_main_db_name ) | 
Create a user to connect to database.
| string | $dolibarr_main_db_host | Ip server | 
| string | $dolibarr_main_db_user | Name of user to create | 
| string | $dolibarr_main_db_pass | Password of user to create | 
| string | $dolibarr_main_db_name | Database name where user must be granted | 
Implements Database.
Definition at line 1159 of file pgsql.class.php.
References dol_syslog(), escape(), and query().
| DoliDBPgsql::DDLDescTable | ( | $table, | |
| $field = "" ) | 
Return a pointer of line with description of a table or field.
| string | $table | Name of table | 
| string | $field | Optionnel : Name of field if we want description of field | 
Implements Database.
Definition at line 1182 of file pgsql.class.php.
References dol_syslog(), and query().
| DoliDBPgsql::DDLDropField | ( | $table, | |
| $field_name ) | 
Drop a field from table.
| string | $table | Name of table | 
| string | $field_name | Name of field to drop | 
Implements Database.
Definition at line 1297 of file pgsql.class.php.
References error(), DoliDB\lasterror(), and query().
| DoliDBPgsql::DDLDropTable | ( | $table | ) | 
Drop a table into database.
| string | $table | Name of table | 
Implements Database.
Definition at line 1135 of file pgsql.class.php.
References query().
| DoliDBPgsql::DDLGetConnectId | ( | ) | 
Return connexion ID.
Implements Database.
Definition at line 912 of file pgsql.class.php.
| DoliDBPgsql::DDLInfoTable | ( | $table | ) | 
List information of columns into a table.
| string | $table | Name of table | 
Implements Database.
Definition at line 1016 of file pgsql.class.php.
References dol_syslog(), fetch_row(), and query().
| DoliDBPgsql::DDLListTables | ( | $database, | |
| $table = '' ) | 
List tables into a database.
| string | $database | Name of database | 
| string | $table | Name of table filter ('xxx') | 
Implements Database.
Definition at line 960 of file pgsql.class.php.
References fetch_row().
| DoliDBPgsql::DDLListTablesFull | ( | $database, | |
| $table = '' ) | 
List tables into a database.
| string | $database | Name of database | 
| string | $table | Name of table filter ('xxx') | 
Implements Database.
Definition at line 988 of file pgsql.class.php.
References fetch_row().
| DoliDBPgsql::DDLUpdateField | ( | $table, | |
| $field_name, | |||
| $field_desc ) | 
Update format of a field into a table.
| string | $table | Name of table | 
| string | $field_name | Name of field to modify | 
| string | $field_desc | Array with description of field format | 
Implements Database.
Definition at line 1252 of file pgsql.class.php.
References dol_syslog(), escape(), and query().
| DoliDBPgsql::decrypt | ( | $value | ) | 
Decrypt sensitive data in database.
| int | $value | Value to decrypt | 
Implements Database.
Definition at line 891 of file pgsql.class.php.
| DoliDBPgsql::encrypt | ( | $fieldorvalue, | |
| $withQuotes = 1 ) | 
Encrypt sensitive data in database Warning: This function includes the escape and add the SQL simple quotes on strings.
| string | $fieldorvalue | Field name or value to encrypt | 
| int | $withQuotes | Return string including the SQL simple quotes. This param must always be 1 (Value 0 is bugged and deprecated). | 
Implements Database.
Definition at line 870 of file pgsql.class.php.
References escape().
| DoliDBPgsql::errno | ( | ) | 
Renvoie le code erreur generique de l'operation precedente.
Implements Database.
Definition at line 771 of file pgsql.class.php.
Referenced by query().
| DoliDBPgsql::error | ( | ) | 
Renvoie le texte de l'erreur pgsql de l'operation precedente.
Implements Database.
Definition at line 835 of file pgsql.class.php.
Referenced by __construct(), DDLDropField(), and query().
| DoliDBPgsql::escape | ( | $stringtoencode | ) | 
Escape a string to insert data.
| string | $stringtoencode | String to escape | 
Implements Database.
Definition at line 719 of file pgsql.class.php.
Referenced by DDLCreateDb(), DDLCreateTable(), DDLCreateUser(), DDLUpdateField(), and encrypt().
| DoliDBPgsql::escapeforlike | ( | $stringtoencode | ) | 
Escape a string to insert data into a like.
| string | $stringtoencode | String to escape | 
Implements Database.
Definition at line 730 of file pgsql.class.php.
| DoliDBPgsql::fetch_array | ( | $resultset | ) | 
Return datas as an array.
| resource | $resultset | Resultset of request | 
Implements Database.
Definition at line 604 of file pgsql.class.php.
Referenced by getDefaultCharacterSetDatabase(), getDefaultCollationDatabase(), getPathOfDump(), getPathOfRestore(), and getVersion().
| DoliDBPgsql::fetch_object | ( | $resultset | ) | 
Returns the current line (as an object) for the resultset cursor.
| resource | $resultset | Curseur de la requete voulue | 
Implements Database.
Definition at line 587 of file pgsql.class.php.
Referenced by getListOfCharacterSet(), getListOfCollation(), and getServerParametersValues().
| DoliDBPgsql::fetch_row | ( | $resultset | ) | 
Return datas as an array.
| resource | $resultset | Resultset of request | 
Implements Database.
Definition at line 621 of file pgsql.class.php.
Referenced by DDLInfoTable(), DDLListTables(), and DDLListTablesFull().
| DoliDBPgsql::free | ( | $resultset = null | ) | 
Libere le dernier resultset utilise sur cette connexion.
| resource | $resultset | Result set of request | 
Implements Database.
Definition at line 676 of file pgsql.class.php.
Referenced by getListOfCharacterSet(), and getListOfCollation().
| DoliDBPgsql::getDefaultCharacterSetDatabase | ( | ) | 
Return charset used to store data in database.
Implements Database.
Definition at line 1315 of file pgsql.class.php.
References fetch_array(), and query().
| DoliDBPgsql::getDefaultCollationDatabase | ( | ) | 
Return collation used in database.
Implements Database.
Definition at line 1354 of file pgsql.class.php.
References fetch_array(), and query().
| DoliDBPgsql::getDriverInfo | ( | ) | 
Return version of database client driver.
Implements Database.
Definition at line 476 of file pgsql.class.php.
| DoliDBPgsql::getListOfCharacterSet | ( | ) | 
Return list of available charset that can be used to store data in database.
Implements Database.
Definition at line 1331 of file pgsql.class.php.
References fetch_object(), free(), and query().
| DoliDBPgsql::getListOfCollation | ( | ) | 
Return list of available collation that can be used for database.
Implements Database.
Definition at line 1370 of file pgsql.class.php.
References fetch_object(), free(), and query().
| DoliDBPgsql::getPathOfDump | ( | ) | 
Return full path of dump program.
Implements Database.
Definition at line 1392 of file pgsql.class.php.
References fetch_array(), and query().
| DoliDBPgsql::getPathOfRestore | ( | ) | 
Return full path of restore program.
Implements Database.
Definition at line 1416 of file pgsql.class.php.
References fetch_array(), and query().
| DoliDBPgsql::getServerParametersValues | ( | $filter = '' | ) | 
Return value of server parameters.
| string | $filter | Filter list on a particular value | 
Implements Database.
Definition at line 1444 of file pgsql.class.php.
References fetch_object(), and query().
| DoliDBPgsql::getServerStatusValues | ( | $filter = '' | ) | 
Return value of server status.
| string | $filter | Filter list on a particular value | 
Implements Database.
Definition at line 1468 of file pgsql.class.php.
| DoliDBPgsql::getVersion | ( | ) | 
Return version of database server.
Implements Database.
Definition at line 461 of file pgsql.class.php.
References fetch_array(), and query().
| DoliDBPgsql::ifsql | ( | $test, | |
| $resok, | |||
| $resko ) | 
Format a SQL IF.
| string | $test | Test string (example: 'cd.statut=0', 'field IS NULL') | 
| string | $resok | resultat si test egal | 
| string | $resko | resultat si test non egal | 
Reimplemented from DoliDB.
Definition at line 743 of file pgsql.class.php.
| DoliDBPgsql::last_insert_id | ( | $tab, | |
| $fieldid = 'rowid' ) | 
Get last ID after an insert INSERT.
| string | $tab | Table name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql | 
| string | $fieldid | Field name | 
Implements Database.
Definition at line 848 of file pgsql.class.php.
| DoliDBPgsql::num_rows | ( | $resultset | ) | 
Return number of lines for result of a SELECT.
| resource | $resultset | Resulset of requests | 
Implements Database.
Definition at line 639 of file pgsql.class.php.
| DoliDBPgsql::plimit | ( | $limit = 0, | |
| $offset = 0 ) | 
Define limits and offset of request.
| int | $limit | Maximum number of lines returned (-1=conf->liste_limit, 0=no limit) | 
| int | $offset | Numero of line from where starting fetch | 
Reimplemented from DoliDB.
Definition at line 696 of file pgsql.class.php.
| DoliDBPgsql::query | ( | $query, | |
| $usesavepoint = 0, | |||
| $type = 'auto', | |||
| $result_mode = 0 ) | 
Convert request to PostgreSQL syntax, execute it and return the resultset.
| string | $query | SQL query string | 
| int | $usesavepoint | 0=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). | 
| string | $type | Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) | 
| int | $result_mode | Result mode (not used with pgsql) | 
Implements Database.
Definition at line 508 of file pgsql.class.php.
References $type, convertSQLFromMysql(), dol_syslog(), errno(), error(), getDolGlobalInt(), DoliDB\lasterrno(), DoliDB\lasterror(), DoliDB\lastquery(), and DoliDB\lastqueryerror().
Referenced by DDLAddField(), DDLCreateDb(), DDLCreateTable(), DDLCreateUser(), DDLDescTable(), DDLDropField(), DDLDropTable(), DDLInfoTable(), DDLUpdateField(), getDefaultCharacterSetDatabase(), getDefaultCollationDatabase(), getListOfCharacterSet(), getListOfCollation(), getPathOfDump(), getPathOfRestore(), getServerParametersValues(), and getVersion().
| DoliDBPgsql::regexpsql | ( | $subject, | |
| $pattern, | |||
| $sqlstring = false ) | 
Format a SQL REGEXP.
| string | $subject | string tested | 
| string | $pattern | SQL pattern to match | 
| string | $sqlstring | whether or not the string being tested is an SQL expression | 
Reimplemented from DoliDB.
Definition at line 756 of file pgsql.class.php.
| DoliDBPgsql::select_db | ( | $database | ) | 
Select a database Ici postgresql n'a aucune fonction equivalente de mysql_select_db On compare juste manuellement si la database choisie est bien celle activee par la connexion.
| string | $database | Name of database | 
Implements Database.
Definition at line 381 of file pgsql.class.php.
Referenced by __construct().