1dbh_erase(3) DBHashTables Programmers' Manual dbh_erase(3)
2
3
4
5‐
6
8 dbh_erase, dbh_unerase, dbh_prune.3, dbh_unprune.3 - erase/unerase
9 records or prune/unprune entire branches
10
12 #include <dbh.h>
13
14 int dbh_erase (DBHashTable *dbh);
15 int dbh_unerase (DBHashTable *dbh);
16 int dbh_prune (DBHashTable *dbh, unsigned char *key, unsigned char sub‐
17 tree_length);
18 int dbh_unprune (DBHashTable *dbh, unsigned char *key, unsigned char
19 subtree_length);
20
21
23 Mark the record currently loaded into memory as erased. If no record is
24 currently loaded, behaviour is undefined.
25
26 This is the opposite of dbh_erase (). Mark the record currently loaded
27 into memory as unerased. If no record is currently loaded, behaviour is
28 undefined.
29
30
31 Erases a whole subtree from the record currently loaded into memory.
32 Records are not really removed fisically, but rather marked erased so
33 they may be recovered (if not overwritten later on). Records are perma‐
34 nently removed after DBHashTable is reconstructed with dbh_regen_sweep
35 () or dbh_regen_fanout ().
36
37 Does the opposite of dbh_prune (), marking entire subtree as unerased.
38 May fail to work if records have been overwritten since the dbh_prune
39 () instruction was issued.
40
41 In the dbh_prune and dbh_unprune routines, key is the key of top level
42 record of subtree to erase and subtree_length is the number of branches
43 to erase.
44
45
47 0 on error, 1 otherwise.
48
50 dbh (0), dbh_find (3), dbh_load (3), dbh_sweep (3), dbh_regen_sweep (3)
51
53 Edscott Wilson Garcia <edscott@xfce.org>
54
55
56
57DBHashTables DBH dbh_erase(3)