int
saf_close_database(SAF_Db *database/*The open database to be closed.*/)
{
SAF_ENTER(saf_close_database, SAF_PRECONDITION_ERROR);
SAF_REQUIRE(SS_MAGIC(ss_file_t)==SS_MAGIC_OF(database), SAF_LOW_CHK_COST, SAF_PRECONDITION_ERROR,
_saf_errmsg("DATABASE must be a database handle"));
SAF_REQUIRE(ss_file_isopen(database, NULL), SAF_LOW_CHK_COST, SAF_PRECONDITION_ERROR,
_saf_errmsg("DATABASE must currently be open"));
if (ss_file_close(database)<0)
SAF_ERROR(-1, _saf_errmsg("ss_file_close() failed"));
SAF_LEAVE(SAF_SUCCESS);
}