Incohérence dans les codes de retour de l'API sql #3038

Closed
opened 10 years ago by nicod_ · 1 comments
nicod_ commented 10 years ago
Owner

Les fonctions sql_update* renvoient true ou false en cas de succés/échec, mais les fonctions sql_insert* renvoient 0 ou NULL

Du coup, la fonction spip_sql_erreur() n'est jamais appelée :

function sql_insertq($table, $couples=array(), $desc=array(), $serveur='', $option=true)
{
    $f = sql_serveur('insertq', $serveur,  $option==='continue' OR $option===false);
    if (!is_string($f) OR !$f) return false;
    $r = $f($table, $couples, $desc, $serveur, $option!==false);
    if ($r === false) spip_sql_erreur($serveur);
    return $r;
}

Et ça ne facilite pas les tests d'erreurs sur des requetes critiques dans son propre code :

if( sql_update()===false )...
if( sql_insert()===null )...

Les fonctions sql_update* renvoient true ou false en cas de succés/échec, mais les fonctions sql_insert* renvoient 0 ou NULL Du coup, la fonction spip_sql_erreur() n'est jamais appelée : <pre> function sql_insertq($table, $couples=array(), $desc=array(), $serveur='', $option=true) { $f = sql_serveur('insertq', $serveur, $option==='continue' OR $option===false); if (!is_string($f) OR !$f) return false; $r = $f($table, $couples, $desc, $serveur, $option!==false); if ($r === false) spip_sql_erreur($serveur); return $r; } </pre> Et ça ne facilite pas les tests d'erreurs sur des requetes critiques dans son propre code : if( sql_update()===false )... if( sql_insert()===null )...
Owner

En effet, c'est un bug, corrigé en 3.1 (je préfère ne rien toucher sur la 3.0.x pour ne pas risquer de casser du code qui marche dans les plugins)
Version cible mise à 3.1
Statut changé à Fermé

En effet, c'est un bug, corrigé en 3.1 (je préfère ne rien toucher sur la 3.0.x pour ne pas risquer de casser du code qui marche dans les plugins) **Version cible mise à 3.1** **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.