2
%%Creator: groff version 1.08
3
%%DocumentNeededResources: font Times-Roman
6
%%DocumentSuppliedResources: procset grops 1.08 0
9
%%Orientation: Portrait
12
%%BeginResource: procset grops 1.08 0
18
/grops 120 dict dup begin
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
42
[exch dup 0 exch 0 exch neg 0 0]makefont
44
[exch/setfont cvx]cvx bind def
52
[exch/setfont cvx]cvx bind def
59
gsave newpath clippath pathbbox grestore
83
.25 sub exch .25 sub exch
84
round .25 add exch round .25 add exch
94
newpath 0 360 arc closepath
99
translate scale newpath 0 0 .5 0 360 arc closepath
102
/RC/rcurveto load def
106
/CL/closepath load def
108
currentgray exch setgray fill setgray
111
/LW/setlinewidth load def
114
dup maxlength 1 index/FontName known not{1 add}if dict begin
116
1 index/FID ne{def}{pop pop}ifelse
119
dup/FontName exch def
120
currentdict end definefont pop
133
div 3 1 roll div exch scale
134
neg exch neg exch translate
141
/setstrokeadjust where{
143
false setstrokeadjust
150
/CNT countdictstack def
156
countdictstack CNT sub{end}repeat
165
%%IncludeResource: font Times-Roman
166
%%IncludeResource: font Times-Bold
167
%%IncludeResource: font Times-Italic
168
grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL
169
792 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
200
/F0 10/Times-Roman@0 SF 130.12(RECNO\(3\) BSD)72 48 R(Programmer')2.5 E 2.5(sM)
201
-.55 G 130.12(anual RECNO\(3\))340.17 48 R/F1 9/Times-Bold@0 SF -.18(NA)72 84 S
202
(ME).18 E F0(recno \255 record number database access method)108 96 Q F1
203
(SYNOPSIS)72 112.8 Q/F2 10/Times-Bold@0 SF(#include <sys/types.h>)108 124.8 Q
204
(#include <db)108 136.8 Q(.h>)-.4 E F1(DESCRIPTION)72 153.6 Q F0 1.158
205
(The routine)108 165.6 R/F3 10/Times-Italic@0 SF(dbopen)3.658 E F0 1.158
206
(is the library interf)3.658 F 1.158(ace to database \214les.)-.1 F 1.157
207
(One of the supported \214le formats is record)6.158 F 1.159(number \214les.)
208
108 177.6 R 1.159(The general description of the database access methods is in)
209
6.159 F F3(dbopen)3.66 E F0 1.16(\(3\), this manual page).24 F
210
(describes only the recno speci\214c information.)108 189.6 Q 1.944
211
(The record number data structure is either v)108 206.4 R 1.944
212
(ariable or \214x)-.25 F 1.944
213
(ed-length records stored in a \215at-\214le format,)-.15 F 2.04
214
(accessed by the logical record number)108 218.4 R 7.04(.T)-.55 G 2.04(he e)
215
286.31 218.4 R 2.04(xistence of record number \214v)-.15 F 4.54(ei)-.15 G 2.04
216
(mplies the e)442.1 218.4 R 2.04(xistence of)-.15 F .876
217
(records one through four)108 230.4 R 3.376(,a)-.4 G .875
218
(nd the deletion of record number one causes record number \214v)219.684 230.4
219
R 3.375(et)-.15 G 3.375(ob)489.93 230.4 S 3.375(er)503.305 230.4 S(enum-)514.45
220
230.4 Q .282(bered to record number four)108 242.4 R 2.782(,a)-.4 G 2.782(sw)
221
231.19 242.4 S .283(ell as the cursor)245.082 242.4 R 2.783(,i)-.4 G 2.783(fp)
222
316.633 242.4 S .283(ositioned after record number one, to shift do)327.746
223
242.4 R .283(wn one)-.25 F(record.)108 254.4 Q .373
224
(The recno access method speci\214c data structure pro)108 271.2 R .373
225
(vided to)-.15 F F3(dbopen)2.873 E F0 .373(is de\214ned in the <db)2.873 F .373
226
(.h> include \214le as)-.4 F(follo)108 283.2 Q(ws:)-.25 E(typedef struct {)108
227
300 Q(u_long \215ags;)144 312 Q(u_int cachesize;)144 324 Q(u_int psize;)144 336
228
Q(int lorder;)144 348 Q(size_t reclen;)144 360 Q(u_char b)144 372 Q -.25(va)
229
-.15 G(l;).25 E(char *bfname;)144 384 Q 2.5(}R)108 396 S(ECNOINFO;)121.97 396 Q
230
(The elements of this structure are de\214ned as follo)108 412.8 Q(ws:)-.25 E
231
14.61(\215ags The)108 429.6 R(\215ag v)2.5 E(alue is speci\214ed by)-.25 E F3
232
(or)2.5 E F0('ing an).73 E 2.5(yo)-.15 G 2.5(ft)313.2 429.6 S(he follo)321.81
233
429.6 Q(wing v)-.25 E(alues:)-.25 E(R_FIXEDLEN)144 446.4 Q .962
234
(The records are \214x)180 458.4 R .963(ed-length, not byte delimited.)-.15 F
235
.963(The structure element)5.963 F F3 -.37(re)3.463 G(clen).37 E F0
236
(speci\214es)3.463 E .345(the length of the record, and the structure element)
237
180 470.4 R F3(bval)2.844 E F0 .344(is used as the pad character)2.844 F 5.344
238
(.A)-.55 G -.15(ny)530.15 470.4 S .739
239
(records, inserted into the database, that are less than)180 482.4 R F3 -.37
240
(re)3.239 G(clen).37 E F0 .74(bytes long are automatically)3.239 F(padded.)180
241
494.4 Q(R_NOKEY)144 511.2 Q 2.34(In the interf)180 523.2 R 2.34
242
(ace speci\214ed by)-.1 F F3(dbopen)4.84 E F0 4.84(,t).24 G 2.34
243
(he sequential record retrie)344.98 523.2 R -.25(va)-.25 G 4.84<6c8c>.25 G 2.34
244
(lls in both the)478.25 523.2 R(caller')180 535.2 Q 3.556(sk)-.55 G 1.357 -.15
245
(ey a)217.336 535.2 T 1.057(nd data structures.).15 F 1.057
246
(If the R_NOKEY \215ag is speci\214ed, the)6.057 F F3(cur)3.557 E(sor)-.1 E F0
247
(routines)3.557 E .029(are not required to \214ll in the k)180 547.2 R .329
248
-.15(ey s)-.1 H 2.529(tructure. This).15 F .028(permits applications to retrie)
249
2.529 F .328 -.15(ve r)-.25 H .028(ecords at).15 F
250
(the end of \214les without reading all of the interv)180 559.2 Q
251
(ening records.)-.15 E(R_SN)144 576 Q(APSHO)-.35 E(T)-.4 E .964
252
(This \215ag requires that a snapshot of the \214le be tak)180 588 R .965
253
(en when)-.1 F F3(dbopen)3.465 E F0 .965(is called, instead of)3.465 F
254
(permitting an)180 600 Q 2.5(yu)-.15 G
255
(nmodi\214ed records to be read from the original \214le.)245.96 600 Q
256
(cachesize)108 616.8 Q 3.16(As)144 628.8 S .66
257
(uggested maximum size, in bytes, of the memory cache.)158.27 628.8 R .659
258
(This v)5.659 F .659(alue is)-.25 F F2(only)3.159 E F0(advisory)3.159 E 3.159
259
(,a)-.65 G .659(nd the)514.621 628.8 R .046
260
(access method will allocate more memory rather than f)144 640.8 R 2.546
261
(ail. If)-.1 F F3(cac)2.546 E(hesize)-.15 E F0 2.546(is 0)2.546 F .046
262
(\(no size is speci\214ed\) a)2.546 F(def)144 652.8 Q(ault cache is used.)-.1 E
263
12.95(psize The)108 669.6 R .715
264
(recno access method stores the in-memory copies of its records in a btree.)
265
3.216 F .715(This v)5.715 F .715(alue is the)-.25 F .805
266
(size \(in bytes\) of the pages used for nodes in that tree.)144 681.6 R(If)
267
5.805 E F3(psize)3.305 E F0 .806(is 0 \(no page size is speci\214ed\) a)3.305 F
269
(page size is chosen based on the underlying \214le system I/O block size.)144
270
693.6 R(See)6.467 E F3(btr)3.967 E(ee)-.37 E F0 1.467(\(3\) for more).18 F
271
(4.4 Berk)72 732 Q(ele)-.1 E 2.5(yD)-.15 G(istrib)132.57 732 Q 96.815
272
(ution August)-.2 F(18, 1994)2.5 E(1)535 732 Q EP
277
/F0 10/Times-Roman@0 SF 130.12(RECNO\(3\) BSD)72 48 R(Programmer')2.5 E 2.5(sM)
278
-.55 G 130.12(anual RECNO\(3\))340.17 48 R(information.)144 84 Q 9.62
279
(lorder The)108 100.8 R 1.596(byte order for inte)4.096 F 1.596
280
(gers in the stored database metadata.)-.15 F 1.597
281
(The number should represent the)6.597 F .689(order as an inte)144 112.8 R .689
282
(ger; for e)-.15 F .689(xample, big endian order w)-.15 F .689
283
(ould be the number 4,321.)-.1 F(If)5.689 E/F1 10/Times-Italic@0 SF(lor)3.189 E
284
(der)-.37 E F0 .688(is 0 \(no)3.189 F
285
(order is speci\214ed\) the current host order is used.)144 124.8 Q 9.07
286
(reclen The)108 141.6 R(length of a \214x)2.5 E(ed-length record.)-.15 E -.15
287
(bv)108 158.4 S 16.68(al The)-.1 F .182
288
(delimiting byte to be used to mark the end of a record for v)2.682 F .183
289
(ariable-length records, and the pad)-.25 F .809(character for \214x)144 170.4
290
R .809(ed-length records.)-.15 F .809(If no v)5.809 F .809
291
(alue is speci\214ed, ne)-.25 F .809(wlines \(`)-.25 F(`\\n')-.74 E .808
292
('\) are used to mark the)-.74 F(end of v)144 182.4 Q
293
(ariable-length records and \214x)-.25 E
294
(ed-length records are padded with spaces.)-.15 E 3.51(bfname The)108 199.2 R
296
(recno access method stores the in-memory copies of its records in a btree.)
297
3.005 F .506(If bfname is non-)5.506 F .065(NULL, it speci\214es the name of t\
298
he btree \214le, as if speci\214ed as the \214le name for a dbopen of a btree)
299
144 211.2 R(\214le.)144 223.2 Q .971(The data part of the k)108 240 R -.15(ey)
300
-.1 G .972(/data pair used by the recno access method is the same as other acc\
301
ess methods.).15 F .199(The k)108 252 R .499 -.15(ey i)-.1 H 2.699(sd).15 G(if)
302
157.507 252 Q 2.699(ferent. The)-.25 F F1(data)2.699 E F0 .199
303
(\214eld of the k)2.699 F .499 -.15(ey s)-.1 H .198
304
(hould be a pointer to a memory location of type).15 F F1 -.37(re)2.698 G
305
(cno_t).37 E F0 2.698(,a).68 G(s)536.11 252 Q .505(de\214ned in the <db)108 264
306
R .506(.h> include \214le.)-.4 F .506(This type is normally the lar)5.506 F
307
.506(gest unsigned inte)-.18 F .506(gral type a)-.15 F -.25(va)-.2 G .506
308
(ilable to the).25 F 2.5(implementation. The)108 276 R F1(size)2.5 E F0
309
(\214eld of the k)2.5 E .3 -.15(ey s)-.1 H(hould be the size of that type.).15
310
E .706(Because there can be no meta-data associated with the underlying recno \
311
access method \214les, an)108 292.8 R 3.206(yc)-.15 G(hanges)512.23 292.8 Q
312
1.262(made to the def)108 304.8 R 1.262(ault v)-.1 F 1.262(alues \(e.g. \214x)
313
-.25 F 1.263(ed record length or byte separator v)-.15 F 1.263
314
(alue\) must be e)-.25 F 1.263(xplicitly speci\214ed)-.15 F
315
(each time the \214le is opened.)108 316.8 Q .065(In the interf)108 333.6 R
316
.065(ace speci\214ed by)-.1 F F1(dbopen)2.564 E F0 2.564(,u).24 G .064
317
(sing the)261.548 333.6 R F1(put)2.564 E F0(interf)2.564 E .064
318
(ace to create a ne)-.1 F 2.564(wr)-.25 G .064
319
(ecord will cause the creation of)414.44 333.6 R .755(multiple, empty records \
320
if the record number is more than one greater than the lar)108 345.6 R .755
321
(gest record currently in)-.18 F(the database.)108 357.6 Q/F2 9/Times-Bold@0 SF
322
(ERR)72 374.4 Q(ORS)-.27 E F0(The)108 386.4 Q F1 -.37(re)2.922 G(cno).37 E F0
323
.421(access method routines may f)2.921 F .421(ail and set)-.1 F F1(errno)2.921
324
E F0 .421(for an)2.921 F 2.921(yo)-.15 G 2.921(ft)377.933 386.4 S .421
325
(he errors speci\214ed for the library rou-)386.964 386.4 R(tine)108 398.4 Q F1
326
(dbopen)2.5 E F0(\(3\) or the follo).24 E(wing:)-.25 E([EINV)108 415.2 Q(AL])
327
-1.35 E(An attempt w)144 427.2 Q(as made to add a record to a \214x)-.1 E
328
(ed-length database that w)-.15 E(as too lar)-.1 E(ge to \214t.)-.18 E F2
329
(SEE ALSO)72 444 Q F1(btr)108 456 Q(ee)-.37 E F0(\(3\)).18 E F1(dbopen)2.5 E F0
330
(\(3\),).24 E F1(hash)2.5 E F0(\(3\),).28 E F1(mpool)2.5 E F0(\(3\),).51 E F1
331
2.754(Document Pr)108 480 R 2.754(ocessing in a Relational Database System)-.45
332
F F0 5.255(,M).32 G 2.755(ichael Stonebrak)362.13 480 R(er)-.1 E 5.255(,H)-.4 G
333
2.755(eidi Stettner)454.06 480 R 5.255(,J)-.4 G(oseph)516.67 480 Q
334
(Kalash, Antonin Guttman, Nadene L)108 492 Q
335
(ynn, Memorandum No. UCB/ERL M82/32, May 1982.)-.55 E F2 -.09(BU)72 508.8 S(GS)
336
.09 E F0(Only big and little endian byte order is supported.)108 520.8 Q
337
(4.4 Berk)72 732 Q(ele)-.1 E 2.5(yD)-.15 G(istrib)132.57 732 Q 96.815
338
(ution August)-.2 F(18, 1994)2.5 E(2)535 732 Q EP