Clean comment and make some implementations

This commit is contained in:
Laurent Destailleur 2014-02-24 09:52:48 +01:00
parent 404d24a029
commit a797a5e665
7 changed files with 64 additions and 52 deletions

View File

@ -73,7 +73,8 @@ if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
} }
else if ($conf->db->type == 'pgsql') else if ($conf->db->type == 'pgsql')
{ {
$sqls[0] = "select name,setting from pg_settings"; $sqls[0] = "select name,setting from pg_settings"; // TODO function getServerParametersValues
//$sqls[1] = ""; // TODO Use function getServerStatusValues
$base=2; $base=2;
} }
else if ($conf->db->type == 'mssql') else if ($conf->db->type == 'mssql')

View File

@ -231,11 +231,19 @@ interface Database
*/ */
function plimit($limit = 0, $offset = 0); function plimit($limit = 0, $offset = 0);
/**
* Return value of server parameters
*
* @param string $filter Filter list on a particular value
* @return array Array of key-values (key=>value)
*/
function getServerParametersValues($filter = '');
/** /**
* Return value of server status * Return value of server status
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerStatusValues($filter = ''); function getServerStatusValues($filter = '');
@ -454,11 +462,4 @@ interface Database
*/ */
function select_db($database); function select_db($database);
/**
* Return value of server parameters
*
* @param string $filter Filter list on a particular value
* @return string Value for parameter
*/
function getServerParametersValues($filter = '');
} }

View File

@ -1097,10 +1097,10 @@ class DoliDBMssql extends DoliDB
} }
/** /**
* Return value of server parameters * Return value of server parameters
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerParametersValues($filter='') function getServerParametersValues($filter='')
{ {
@ -1113,10 +1113,10 @@ class DoliDBMssql extends DoliDB
} }
/** /**
* Return value of server status * Return value of server status
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerStatusValues($filter='') function getServerStatusValues($filter='')
{ {
@ -1124,7 +1124,7 @@ class DoliDBMssql extends DoliDB
// TODO: Implement // TODO: Implement
// May help: http://www.experts-exchange.com/Database/MS-SQL-Server/Q_20971756.html // May help: http://www.experts-exchange.com/Database/MS-SQL-Server/Q_20971756.html
return ''; return array();
} }
} }

View File

@ -84,6 +84,7 @@ class DoliDBMysql extends DoliDB
{ {
global $conf,$langs; global $conf,$langs;
// Note that having "static" property for "$forcecharset" and "$forcecollate" will make error here in strict mode, so they are not static
if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set; if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set;
if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation; if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation;
@ -1196,10 +1197,10 @@ class DoliDBMysql extends DoliDB
} }
/** /**
* Return value of server parameters * Return value of server parameters
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerParametersValues($filter='') function getServerParametersValues($filter='')
{ {
@ -1218,17 +1219,17 @@ class DoliDBMysql extends DoliDB
} }
/** /**
* Return value of server status * Return value of server status
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerStatusValues($filter='') function getServerStatusValues($filter='')
{ {
$result=array(); $result=array();
$sql='SHOW STATUS'; $sql='SHOW STATUS';
if ($filter) $sql.=" LIKE '".addslashes($filter)."'"; if ($filter) $sql.=" LIKE '".$this->escape($filter)."'";
$resql=$this->query($sql); $resql=$this->query($sql);
if ($resql) if ($resql)
{ {

View File

@ -84,9 +84,9 @@ class DoliDBMysqli extends DoliDB
{ {
global $conf,$langs; global $conf,$langs;
// TODO error in strict mode (static property for "$forcecharset" and "$forcecollate") // Note that having "static" property for "$forcecharset" and "$forcecollate" will make error here in strict mode, so they are not static
//if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set; if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set;
//if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation; if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation;
$this->database_user=$user; $this->database_user=$user;
@ -1200,10 +1200,10 @@ class DoliDBMysqli extends DoliDB
} }
/** /**
* Return value of server parameters * Return value of server parameters
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerParametersValues($filter='') function getServerParametersValues($filter='')
{ {
@ -1222,17 +1222,17 @@ class DoliDBMysqli extends DoliDB
} }
/** /**
* Return value of server status * Return value of server status (current indicators on memory, cache...)
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerStatusValues($filter='') function getServerStatusValues($filter='')
{ {
$result=array(); $result=array();
$sql='SHOW STATUS'; $sql='SHOW STATUS';
if ($filter) $sql.=" LIKE '".addslashes($filter)."'"; if ($filter) $sql.=" LIKE '".$this->escape($filter)."'";
$resql=$this->query($sql); $resql=$this->query($sql);
if ($resql) if ($resql)
{ {

View File

@ -85,6 +85,7 @@ class DoliDBPgsql extends DoliDB
{ {
global $conf,$langs; global $conf,$langs;
// Note that having "static" property for "$forcecharset" and "$forcecollate" will make error here in strict mode, so they are not static
if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set; if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set;
if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation; if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation;
@ -1386,17 +1387,17 @@ class DoliDBPgsql extends DoliDB
} }
/** /**
* Return value of server parameters * Return value of server parameters
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerParametersValues($filter='') function getServerParametersValues($filter='')
{ {
$result=array(); $result=array();
$resql='select name,setting from pg_settings'; $resql='select name,setting from pg_settings';
if ($filter) $resql.=" WHERE name = '".addslashes($filter)."'"; if ($filter) $resql.=" WHERE name = '".$this->escape($filter)."'";
$resql=$this->query($resql); $resql=$this->query($resql);
if ($resql) if ($resql)
{ {
@ -1408,18 +1409,25 @@ class DoliDBPgsql extends DoliDB
} }
/** /**
* Return value of server status * Return value of server status
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerStatusValues($filter='') function getServerStatusValues($filter='')
{ {
// FIXME: Dummy method /* This is to return current running requests.
// TODO: Implement $sql='SELECT datname,procpid,current_query FROM pg_stat_activity ORDER BY procpid';
// May help: http://netpenthe.wordpress.com/2011/12/07/mysql-show-status-for-postgresql if ($filter) $sql.=" LIKE '".$this->escape($filter)."'";
$resql=$this->query($sql);
if ($resql)
{
$obj=$this->fetch_object($resql);
$result[$obj->Variable_name]=$obj->Value;
}
*/
return ''; return array();
} }
} }
?> ?>

View File

@ -84,6 +84,7 @@ class DoliDBSqlite extends DoliDB
{ {
global $conf,$langs; global $conf,$langs;
// Note that having "static" property for "$forcecharset" and "$forcecollate" will make error here in strict mode, so they are not static
if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set; if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set;
if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation; if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation;
@ -1308,10 +1309,10 @@ class DoliDBSqlite extends DoliDB
} }
/** /**
* Return value of server parameters * Return value of server parameters
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerParametersValues($filter='') function getServerParametersValues($filter='')
{ {
@ -1330,17 +1331,17 @@ class DoliDBSqlite extends DoliDB
} }
/** /**
* Return value of server status * Return value of server status
* *
* @param string $filter Filter list on a particular value * @param string $filter Filter list on a particular value
* @return string Value for parameter * @return array Array of key-values (key=>value)
*/ */
function getServerStatusValues($filter='') function getServerStatusValues($filter='')
{ {
$result=array(); $result=array();
$sql='SHOW STATUS'; $sql='SHOW STATUS';
if ($filter) $sql.=" LIKE '".addslashes($filter)."'"; if ($filter) $sql.=" LIKE '".$this->escape($filter)."'";
$resql=$this->query($sql); $resql=$this->query($sql);
if ($resql) if ($resql)
{ {