Skip to content
Extraits de code Groupes Projets
Valider c9b1abcd rédigé par marcimat's avatar marcimat
Parcourir les fichiers

- réparer spip_sqlite_replace() cassé par [11231] !

parent 25117100
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -342,6 +342,7 @@ function spip_sqlite_drop_table($table, $exist='', $serveur='',$requeter=true) { ...@@ -342,6 +342,7 @@ function spip_sqlite_drop_table($table, $exist='', $serveur='',$requeter=true) {
function spip_sqlite_error($query='', $serveur='',$requeter=true) { function spip_sqlite_error($query='', $serveur='',$requeter=true) {
echo ":: $query<br /><br />";
$link = _sqlite_link($serveur); $link = _sqlite_link($serveur);
if (_sqlite_is_version(3, $link)){ if (_sqlite_is_version(3, $link)){
...@@ -583,10 +584,16 @@ function spip_sqlite_repair($table, $serveur='',$requeter=true){ ...@@ -583,10 +584,16 @@ function spip_sqlite_repair($table, $serveur='',$requeter=true){
function spip_sqlite_replace($table, $couples, $desc=array(), $serveur='',$requeter=true) { function spip_sqlite_replace($table, $couples, $desc=array(), $serveur='',$requeter=true) {
if (!$desc) $desc = description_table($table);
if (!$desc) die("$table insertion sans description");
$fields = isset($desc['field'])?$desc['field']:array();
foreach ($couples as $champ => $val) {
$couples[$champ]= _sqlite_calculer_cite($val, $fields[$champ]);
}
// recherche de champs 'timestamp' pour mise a jour auto de ceux-ci // recherche de champs 'timestamp' pour mise a jour auto de ceux-ci
$values = array_map('spip_sqlite_quote', $couples); $couples = _sqlite_ajouter_champs_timestamp($table, $couples, $desc, $serveur);
$values = _sqlite_ajouter_champs_timestamp($table, $couples, '', $serveur);
return spip_sqlite_query("REPLACE INTO $table (" . join(',',array_keys($couples)) . ') VALUES (' .join(',',$couples) . ')', $serveur); return spip_sqlite_query("REPLACE INTO $table (" . join(',',array_keys($couples)) . ') VALUES (' .join(',',$couples) . ')', $serveur);
} }
...@@ -1314,7 +1321,7 @@ class sqlite_traiter_requete{ ...@@ -1314,7 +1321,7 @@ class sqlite_traiter_requete{
// faire le tracage si demande // faire le tracage si demande
function executer_requete(){ function executer_requete(){
$t = $this->tracer ? trace_query_start(): 0; $t = $this->tracer ? trace_query_start(): 0;
//echo("<br /><b>executer_requete() $this->serveur >></b> $this->query"); // boum ? pourquoi ? // echo("<br /><b>executer_requete() $this->serveur >></b> $this->query"); // boum ? pourquoi ?
if ($this->link){ if ($this->link){
if ($this->sqlite_version == 3) { if ($this->sqlite_version == 3) {
$r = $this->link->query($this->query); $r = $this->link->query($this->query);
...@@ -1337,7 +1344,6 @@ class sqlite_traiter_requete{ ...@@ -1337,7 +1344,6 @@ class sqlite_traiter_requete{
} else { } else {
$r = false; $r = false;
} }
if (!$r && $e = spip_sqlite_errno($this->serveur)) // Log de l'erreur eventuelle if (!$r && $e = spip_sqlite_errno($this->serveur)) // Log de l'erreur eventuelle
$e .= spip_sqlite_error($this->query, $this->serveur); // et du fautif $e .= spip_sqlite_error($this->query, $this->serveur); // et du fautif
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter