<?php
namespace nur\sery\db;

interface IDatabase extends ITransactor {
  /**
   * - si c'est un insert, retourner l'identifiant autogénéré de la ligne
   * - sinon retourner le nombre de lignes modifiées en cas de succès, ou false
   * en cas d'échec
   *
   * @return int|false
   */
  function exec($query, ?array $params=null);

  function get($query, ?array $params=null, bool $entireRow=false);

  function one($query, ?array $params=null): ?array;

  function all($query, ?array $params=null, $primaryKeys=null): iterable;
}
