filehash/ffdb_page.c
static int
ffdb_delete_page (ffdb_htab_t* hashp, void* pagep, 
		  unsigned int addrtype, int isdoubling)
{
  int deleteit = 0;
  if (addrtype == HASH_OVFL_PAGE) {
    _ffdb_free_ovflpage (hashp, pagep, isdoubling, &deleteit);
    if (deleteit) {
      /* if this page need to be deleted */
      _ffdb_init_page (hashp, pagep, CURR_PGNO(pagep), HASH_DELETED_PAGE);
      return ffdb_pagepool_delete (hashp->mp, pagep); 
    }
    else 
      return ffdb_put_page (hashp, pagep, TYPE(pagep), 1);
  }
  else 
    return ffdb_pagepool_delete (hashp->mp, pagep);
}
/**
 * Delete a page: usually an overflow page
 */
Delete a page: usually an overflow page
Delete a page : usually an overflow page
static int
ffdb_delete_page (ffdb_htab_t* hashp, void* pagep, 
		  unsigned int addrtype, int isdoubling)
{
  int deleteit = 0;
  if (addrtype == HASH_OVFL_PAGE) {
    _ffdb_free_ovflpage (hashp, pagep, isdoubling, &deleteit);
    if (deleteit) {
      _ffdb_init_page (hashp, pagep, CURR_PGNO(pagep), HASH_DELETED_PAGE);
      return ffdb_pagepool_delete (hashp->mp, pagep); 
    }
    else 
      return ffdb_put_page (hashp, pagep, TYPE(pagep), 1);
  }
  else 
    return ffdb_pagepool_delete (hashp->mp, pagep);
}
static int ffdb_delete_page ( ffdb_htab_t * hashp , void * pagep , unsigned int addrtype , int isdoubling ) { int deleteit = 0 ; if ( addrtype == HASH_OVFL_PAGE ) { _ffdb_free_ovflpage ( hashp , pagep , isdoubling , & deleteit ) ; if ( deleteit ) { _ffdb_init_page ( hashp , pagep , CURR_PGNO ( pagep ) , HASH_DELETED_PAGE ) ; return ffdb_pagepool_delete ( hashp -> mp , pagep ) ; } else return ffdb_put_page ( hashp , pagep , TYPE ( pagep ) , 1 ) ; } else return ffdb_pagepool_delete ( hashp -> mp , pagep ) ; }
Delete a page: usually an overflow page
Delete a page : usually an overflow page
/* if this page need to be deleted */