Valider 5d5b4d32 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

r16477 a introduit un changement de signature des fonctions xxx_error() et...

r16477 a introduit un changement de signature des fonctions xxx_error() et trace_query_end, sans en modifier tous les usages.
r17020 avait deja partiellement corrige le cas sqlite, sans en comprendre l'origine, mais il restait encore de nombreux problemes qui plantaient notamment le profileur et le debugeur
On homogeneise donc les 3 gestionnaires de base sur le cas mysql
parent 223346a4
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -522,7 +522,7 @@ function spip_mysql_countsel($from = array(), $where = array(),
// mais a l'install la globale n'est pas encore completement definie
// http://doc.spip.org/@spip_mysql_error
function spip_mysql_error($query='', $serveur='',$requeter=true) {
	$link = $GLOBALS['connexions'][$serveur ? $serveur : 0]['link'];
	$link = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]['link'];
	$s = $link ? mysql_error($link) : mysql_error();
	if ($s) spip_log("$s - $query", 'mysql.'._LOG_ERREUR);
	return $s;
+10 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -128,7 +128,9 @@ function spip_pg_trace_query($query, $serveur='')
	$connexion['last'] = $query;
	$r = spip_pg_query_simple($link, $query);

	return $t ? trace_query_end($query, $t, $r, $serveur) : $r;
	if ($e = spip_pg_errno($serveur))	// Log de l'erreur eventuelle
		$e .= spip_pg_error($query, $serveur); // et du fautif
	return $t ? trace_query_end($query, $t, $r, $e, $serveur) : $r;
}

// Fonction de requete generale quand on est sur que c'est SQL standard.
@@ -1050,12 +1052,14 @@ function spip_pg_in($val, $valeurs, $not='', $serveur) {
}

// http://doc.spip.org/@spip_pg_error
function spip_pg_error($serveur) {

	$connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
	$link = $connexion['link'];
function spip_pg_error($query='', $serveur, $requeter=true) {
	$link = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]['link'];
	$s = $link ? pg_last_error($link) : pg_last_error();
	return str_replace('ERROR', 'errcode: 1000 ', $s);
	if ($s) {
		$s = str_replace('ERROR', 'errcode: 1000 ', $s);
		spip_log("$s - $query", 'pg.'._LOG_ERREUR);
	}
	return $s;
}

// http://doc.spip.org/@spip_pg_errno
+7 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -757,7 +757,9 @@ function spip_sqlite_insert($table, $champs, $valeurs, $desc='', $serveur='',$re
		if (_sqlite_is_version(3, $sqlite)) $nb = $sqlite->lastInsertId();
		else $nb = sqlite_last_insert_rowid($sqlite);
	} else $nb = 0;
	return $t ? trace_query_end($query, $t, $nb, $serveur) : $nb;

	$err = spip_sqlite_error($query, $serveur);
	return $t ? trace_query_end($query, $t, $nb, $err, $serveur) : $nb;

}

@@ -1674,7 +1676,7 @@ class sqlite_traiter_requete{
// http://doc.spip.org/@sqlite_traiter_requete
	function sqlite_traiter_requete($query, $serveur = ''){
		$this->query = $query;
		$this->serveur = $serveur;
		$this->serveur = strtolower($serveur);
		
		if (!($this->link = _sqlite_link($this->serveur)) && (!defined('_ECRIRE_INSTALL') || !_ECRIRE_INSTALL)){
			spip_log("Aucune connexion sqlite (link)",'sqlite.'._LOG_ERREUR);
@@ -1695,6 +1697,7 @@ class sqlite_traiter_requete{
	// faire le tracage si demande 
// http://doc.spip.org/@executer_requete
	function executer_requete(){
		$err = "";
		if ($this->tracer) {
			include_spip('public/tracer');
			$t = trace_query_start();
@@ -1739,7 +1742,8 @@ class sqlite_traiter_requete{
			$r = false;	
		}

		return $t ? trace_query_end($this->query, $t, $r, $serveur) : $r;
		$err .= spip_sqlite_error($this->query, $serveur);
		return $t ? trace_query_end($this->query, $t, $r, $err, $serveur) : $r;
	}
		
	// transformer la requete pour sqlite