. */ namespace SP\Storage\Database; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; /** * Interface DatabaseInterface * * @package SP\Storage */ interface DatabaseInterface { /** * Performs a DB query * * @param QueryData $queryData Query data * * @return QueryResult * @throws QueryException * @throws ConstraintException */ public function doQuery(QueryData $queryData); /** * Don't fetch records and return prepared statement * * @param QueryData $queryData * * @return \PDOStatement */ public function doQueryRaw(QueryData $queryData); /** * Returns the total number of records * * @param QueryData $queryData Query data * * @return int Records count */ public function getFullRowCount(QueryData $queryData); /** * @return DBStorageInterface */ public function getDbHandler(); /** * @return int */ public function getNumRows(); /** * @return int */ public function getNumFields(); /** * @return array */ public function getLastResult(); /** * @return int */ public function getLastId(); }