. */ namespace SP\Storage; use PDOStatement; use SP\Core\Exceptions\SPException; /** * Interface DatabaseInterface * * @package SP\Storage */ interface DatabaseInterface { /** * Performs a DB query * * @param QueryData $queryData Query data * @param bool $getRawData Don't fetch records and return prepared statement * @return PDOStatement|array * @throws SPException */ public function doQuery(QueryData $queryData, $getRawData = false); /** * 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(); }