[spip-dev] code retour erreur de sql_insertq_multi()

Bonjour,

j'ai l'impression que sql_insertq_multi() retourne null en cas d'erreur, et 0 en cas de succès, mais jamais false comme proposé dans son code :

function sql_insertq_multi($table, $couples=array(), $desc=array(), $serveur='', $option=true)
{
  $f = sql_serveur('insertq_multi', $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;
}

Quelqu'un confirme ou infirme ?

Même chose pour sql_insert, qui renvoie 0 en cas de succès et NULL en cas d'échec, alors que sql_update renvoie true ou false.

Les tests pour vérifier le bon fonctionnement d'une requête sont pas évidents du coup...

Du coup, idem pour sql_insert que pour sql_insert_multi, spip_sql_erreur n'est jamais appelé et mysql.log n'est pas complet :

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 surtout, les codes de retours pour tester les erreurs sur des requetes critiques dans son propre code ne sont pas les même :

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

Je fais un ticket sur core ?