This commit was generated by cvs2svn to track changes on a CVS vendor
[unix-history] / lib / libc / db / doc / hash.3.ps
CommitLineData
fdeaf90b
RG
1%!PS-Adobe-3.0
2%%Creator: groff version 1.08
3%%DocumentNeededResources: font Times-Roman
4%%+ font Times-Bold
5%%+ font Times-Italic
6%%DocumentSuppliedResources: procset grops 1.08 0
7%%Pages: 2
8%%PageOrder: Ascend
9%%Orientation: Portrait
10%%EndComments
11%%BeginProlog
12%%BeginResource: procset grops 1.08 0
13/setpacking where{
14pop
15currentpacking
16true setpacking
17}if
18/grops 120 dict dup begin
19/SC 32 def
20/A/show load def
21/B{0 SC 3 -1 roll widthshow}bind def
22/C{0 exch ashow}bind def
23/D{0 exch 0 SC 5 2 roll awidthshow}bind def
24/E{0 rmoveto show}bind def
25/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
26/G{0 rmoveto 0 exch ashow}bind def
27/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
28/I{0 exch rmoveto show}bind def
29/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
30/K{0 exch rmoveto 0 exch ashow}bind def
31/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
32/M{rmoveto show}bind def
33/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
34/O{rmoveto 0 exch ashow}bind def
35/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
36/Q{moveto show}bind def
37/R{moveto 0 SC 3 -1 roll widthshow}bind def
38/S{moveto 0 exch ashow}bind def
39/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
40/SF{
41findfont exch
42[exch dup 0 exch 0 exch neg 0 0]makefont
43dup setfont
44[exch/setfont cvx]cvx bind def
45}bind def
46/MF{
47findfont
48[5 2 roll
490 3 1 roll
50neg 0 0]makefont
51dup setfont
52[exch/setfont cvx]cvx bind def
53}bind def
54/level0 0 def
55/RES 0 def
56/PL 0 def
57/LS 0 def
58/PLG{
59gsave newpath clippath pathbbox grestore
60exch pop add exch pop
61}bind def
62/BP{
63/level0 save def
641 setlinecap
651 setlinejoin
6672 RES div dup scale
67LS{
6890 rotate
69}{
700 PL translate
71}ifelse
721 -1 scale
73}bind def
74/EP{
75level0 restore
76showpage
77}bind def
78/DA{
79newpath arcn stroke
80}bind def
81/SN{
82transform
83.25 sub exch .25 sub exch
84round .25 add exch round .25 add exch
85itransform
86}bind def
87/DL{
88SN
89moveto
90SN
91lineto stroke
92}bind def
93/DC{
94newpath 0 360 arc closepath
95}bind def
96/TM matrix def
97/DE{
98TM currentmatrix pop
99translate scale newpath 0 0 .5 0 360 arc closepath
100TM setmatrix
101}bind def
102/RC/rcurveto load def
103/RL/rlineto load def
104/ST/stroke load def
105/MT/moveto load def
106/CL/closepath load def
107/FL{
108currentgray exch setgray fill setgray
109}bind def
110/BL/fill load def
111/LW/setlinewidth load def
112/RE{
113findfont
114dup maxlength 1 index/FontName known not{1 add}if dict begin
115{
1161 index/FID ne{def}{pop pop}ifelse
117}forall
118/Encoding exch def
119dup/FontName exch def
120currentdict end definefont pop
121}bind def
122/DEFS 0 def
123/EBEGIN{
124moveto
125DEFS begin
126}bind def
127/EEND/end load def
128/CNT 0 def
129/level1 0 def
130/PBEGIN{
131/level1 save def
132translate
133div 3 1 roll div exch scale
134neg exch neg exch translate
1350 setgray
1360 setlinecap
1371 setlinewidth
1380 setlinejoin
13910 setmiterlimit
140[]0 setdash
141/setstrokeadjust where{
142pop
143false setstrokeadjust
144}if
145/setoverprint where{
146pop
147false setoverprint
148}if
149newpath
150/CNT countdictstack def
151userdict begin
152/showpage{}def
153}bind def
154/PEND{
155clear
156countdictstack CNT sub{end}repeat
157level1 restore
158}bind def
159end def
160/setpacking where{
161pop
162setpacking
163}if
164%%EndResource
165%%IncludeResource: font Times-Roman
166%%IncludeResource: font Times-Bold
167%%IncludeResource: font Times-Italic
168grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
169792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron/zcaron
170/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef
171/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
172/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space
173/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft
174/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four
175/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C
176/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash
177/bracketright/circumflex/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q
178/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase
179/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger
180/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
181/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
182/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar
183/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus
184/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu
185/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright
186/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde
187/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute
188/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
189/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
190/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute
191/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve
192/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex
193/udieresis/yacute/thorn/ydieresis]def/Times-Italic@0 ENC0/Times-Italic RE
194/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE
195%%EndProlog
196%%Page: 1 1
197%%BeginPageSetup
198BP
199%%EndPageSetup
9ac3792a
AM
200/F0 10/Times-Roman@0 SF 136.79(HASH\(3\) BSD)72 48 R(Programmer')2.5 E 2.5(sM)
201-.55 G 136.79(anual HASH\(3\))340.17 48 R/F1 9/Times-Bold@0 SF -.18(NA)72 84 S
202(ME).18 E F0(hash \255 hash database access method)108 96 Q F1(SYNOPSIS)72
203112.8 Q/F2 10/Times-Bold@0 SF(#include <sys/types.h>)108 124.8 Q(#include <db)
204108 136.8 Q(.h>)-.4 E F1(DESCRIPTION)72 153.6 Q F0 .29(The routine)108 165.6 R
205/F3 10/Times-Italic@0 SF(dbopen)2.79 E F0 .29(is the library interf)2.79 F .29
fdeaf90b
RG
206(ace to database \214les.)-.1 F .29
207(One of the supported \214le formats is hash \214les.)5.29 F .974
208(The general description of the database access methods is in)108 177.6 R F3
209(dbopen)3.475 E F0 .975(\(3\), this manual page describes only).24 F
210(the hash speci\214c information.)108 189.6 Q(The hash data structure is an e)
211108 206.4 Q(xtensible, dynamic hashing scheme.)-.15 E .83
212(The access method speci\214c data structure pro)108 223.2 R .83(vided to)-.15
213F F3(dbopen)3.33 E F0 .83(is de\214ned in the <db)3.33 F .83
214(.h> include \214le as fol-)-.4 F(lo)108 235.2 Q(ws:)-.25 E(typedef struct {)
215108 259.2 Q(int bsize;)144 271.2 Q(int cachesize;)144 283.2 Q(int f)144 295.2 Q
216-.1(fa)-.25 G(ctor;).1 E(u_long \(*hash\)\(const v)144 307.2 Q
217(oid *, size_t\);)-.2 E(int lorder;)144 319.2 Q(int nelem;)144 331.2 Q 2.5(}H)
218108 343.2 S(ASHINFO;)122.52 343.2 Q
219(The elements of this structure are as follo)108 360 Q(ws:)-.25 E(bsize)108
220376.8 Q F3(Bsize)144 376.8 Q F0 1.393(de\214nes the hash table b)3.893 F(uck)
221-.2 E 1.393(et size, and is, by def)-.1 F 1.394(ault, 256 bytes.)-.1 F 1.394
222(It may be preferable to)6.394 F
223(increase the page size for disk-resident tables and tables with lar)144 388.8
224Q(ge data items.)-.18 E(cachesize)108 405.6 Q 3.16(As)144 417.6 S .66
225(uggested maximum size, in bytes, of the memory cache.)158.27 417.6 R .659
226(This v)5.659 F .659(alue is)-.25 F F2(only)3.159 E F0(advisory)3.159 E 3.159
227(,a)-.65 G .659(nd the)514.621 417.6 R
228(access method will allocate more memory rather than f)144 429.6 Q(ail.)-.1 E
229-2.1 -.25(ff a)108 446.4 T(ctor).25 E F3(Ffactor)9.7 E F0 .482
230(indicates a desired density within the hash table.)2.981 F .482
231(It is an approximation of the number of)5.482 F -.1(ke)144 458.4 S .429
232(ys allo)-.05 F .429(wed to accumulate in an)-.25 F 2.929(yo)-.15 G .429(ne b)
233291.454 458.4 R(uck)-.2 E .429(et, determining when the hash table gro)-.1 F
234.428(ws or shrinks.)-.25 F(The def)144 470.4 Q(ault v)-.1 E(alue is 8.)-.25 E
235(hash)108 487.2 Q F3(Hash)144 487.2 Q F0 .1(is a user de\214ned hash function.)
2362.6 F .1(Since no hash function performs equally well on all possible)5.1 F
237.924(data, the user may \214nd that the b)144 499.2 R .923
238(uilt-in hash function does poorly on a particular data set.)-.2 F(User)5.923 E
2391.408(speci\214ed hash functions must tak)144 511.2 R 3.909(et)-.1 G 1.609 -.1
240(wo a)293.431 511.2 T -.18(rg).1 G 1.409
241(uments \(a pointer to a byte string and a length\) and).18 F
242(return an u_long to be used as the hash v)144 523.2 Q(alue.)-.25 E 9.62
243(lorder The)108 540 R 1.597(byte order for inte)4.097 F 1.596
244(gers in the stored database metadata.)-.15 F 1.596
245(The number should represent the)6.596 F .688(order as an inte)144 552 R .689
246(ger; for e)-.15 F .689(xample, big endian order w)-.15 F .689
247(ould be the number 4,321.)-.1 F(If)5.689 E F3(lor)3.189 E(der)-.37 E F0 .689
248(is 0 \(no)3.189 F .822(order is speci\214ed\) the current host order is used.)
249144 564 R .822(If the)5.822 F .822(\214le already e)5.822 F .821
250(xists, the speci\214ed v)-.15 F .821(alue is)-.25 F(ignored and the v)144 576
251Q(alue speci\214ed when the tree w)-.25 E(as created is used.)-.1 E(nelem)108
252592.8 Q F3(Nelem)144 592.8 Q F0 .701
253(is an estimate of the \214nal size of the hash table.)3.2 F .701
254(If not set or set too lo)5.701 F 2.001 -.65(w, h)-.25 H .701(ash tables will)
255.65 F -.15(ex)144 604.8 S .448(pand gracefully as k).15 F -.15(ey)-.1 G 2.948
256(sa).15 G .448(re entered, although a slight performance de)255.912 604.8 R
257.447(gradation may be noticed.)-.15 F(The def)144 616.8 Q(ault v)-.1 E
258(alue is 1.)-.25 E .79(If the \214le already e)108 633.6 R .79
259(xists \(and the O_TR)-.15 F .79(UNC \215ag is not speci\214ed\), the v)-.4 F
260.79(alues speci\214ed for the parameters)-.25 F(bsize, f)108 645.6 Q -.1(fa)
261-.25 G(ctor).1 E 2.5(,l)-.4 G(order and nelem are ignored and the v)167.23
262645.6 Q(alues speci\214ed when the tree w)-.25 E(as created are used.)-.1 E
2631.232(If a hash function is speci\214ed,)108 662.4 R F3(hash_open)3.731 E F0
2641.231(will attempt to determine if the hash function speci\214ed is the)3.731 F
265(same as the one with which the database w)108 674.4 Q(as created, and will f)
266-.1 E(ail if it is not.)-.1 E(Backw)108 691.2 Q .861(ard compatible interf)-.1
267F .861(aces to the routines described in)-.1 F F3(dbm)3.362 E F0 .862
268(\(3\), and).32 F F3(ndbm)3.362 E F0 .862(\(3\) are pro).32 F .862(vided, ho)
9ac3792a
AM
269-.15 F(we)-.25 E -.15(ve)-.25 G -.4(r,).15 G(4.4 Berk)72 732 Q(ele)-.1 E 2.5
270(yD)-.15 G(istrib)132.57 732 Q 96.815(ution August)-.2 F(17, 1993)2.5 E(1)535
271732 Q EP
fdeaf90b
RG
272%%Page: 2 2
273%%BeginPageSetup
274BP
275%%EndPageSetup
9ac3792a
AM
276/F0 10/Times-Roman@0 SF 136.79(HASH\(3\) BSD)72 48 R(Programmer')2.5 E 2.5(sM)
277-.55 G 136.79(anual HASH\(3\))340.17 48 R(these interf)108 84 Q
278(aces are not compatible with pre)-.1 E(vious \214le formats.)-.25 E/F1 9
279/Times-Bold@0 SF(SEE ALSO)72 100.8 Q/F2 10/Times-Italic@0 SF(btr)108 112.8 Q
280(ee)-.37 E F0(\(3\),).18 E F2(dbopen)2.5 E F0(\(3\),).24 E F2(mpool)2.5 E F0
281(\(3\),).51 E F2 -.37(re)2.5 G(cno).37 E F0(\(3\)).18 E F2(Dynamic Hash T)108
282136.8 Q(ables)-.92 E F0 2.5(,P).27 G(er)206.79 136.8 Q(-Ak)-.2 E 2.5(eL)-.1 G
283(arson, Communications of the A)242.86 136.8 Q(CM, April 1988.)-.4 E F2 2.5(AN)
284108 160.8 S .3 -.15(ew H)123.28 160.8 T(ash P).15 E(ac)-.8 E(ka)-.2 E .2 -.1
285(ge f)-.1 H(or UNIX).1 E F0 2.5(,M).94 G(ar)248.41 160.8 Q(go Seltzer)-.18 E
2862.5(,U)-.4 G(SENIX Proceedings, W)308.09 160.8 Q(inter 1991.)-.4 E F1 -.09(BU)
28772 177.6 S(GS).09 E F0(Only big and little endian byte order is supported.)108
288189.6 Q(4.4 Berk)72 732 Q(ele)-.1 E 2.5(yD)-.15 G(istrib)132.57 732 Q 96.815
289(ution August)-.2 F(17, 1993)2.5 E(2)535 732 Q EP
fdeaf90b
RG
290%%Trailer
291end
292%%EOF