DragonFly On-Line Manual Pages
dbh_erase(3) DBHashTables Programmers' Manual dbh_erase(3)
-
NAME
dbh_erase, dbh_unerase, dbh_prune.3, dbh_unprune.3 - erase/unerase
records or prune/unprune entire branches
SYNOPSIS
#include <dbh.h>
int dbh_erase (DBHashTable *dbh);
int dbh_unerase (DBHashTable *dbh);
int dbh_prune (DBHashTable *dbh, unsigned char *key, unsigned char
subtree_length);
int dbh_unprune (DBHashTable *dbh, unsigned char *key, unsigned char
subtree_length);
DESCRIPTION
Mark the record currently loaded into memory as erased. If no record is
currently loaded, behaviour is undefined.
This is the opposite of dbh_erase (). Mark the record currently loaded
into memory as unerased. If no record is currently loaded, behaviour is
undefined.
Erases a whole subtree from the record currently loaded into memory.
Records are not really removed fisically, but rather marked erased so
they may be recovered (if not overwritten later on). Records are
permanently removed after DBHashTable is reconstructed with
dbh_regen_sweep () or dbh_regen_fanout ().
Does the opposite of dbh_prune (), marking entire subtree as unerased.
May fail to work if records have been overwritten since the dbh_prune
() instruction was issued.
In the dbh_prune and dbh_unprune routines, key is the key of top level
record of subtree to erase and subtree_length is the number of branches
to erase.
RETURN VALUE
0 on error, 1 otherwise.
SEE ALSO
dbh (0), dbh_find (3), dbh_load (3), dbh_sweep (3), dbh_regen_sweep (3)
Author
Edscott Wilson Garcia <edscott@xfce.org>
DBHashTables DBH dbh_erase(3)