File: recno.3

package info (click to toggle)
manpages-fr 0.9.3-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 7,052 kB
  • ctags: 4
  • sloc: makefile: 58; sh: 8
file content (228 lines) | stat: -rw-r--r-- 7,873 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
.\" Copyright (c) 1990, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)recno.3	8.5 (Berkeley) 8/18/94
.\"
.\" Traduction 11/05/1999 par Christophe Blaess (ccb@club-internet.fr)
.\" LDP-man-pages-1.23
.TH RECNO 3 "11 Mai 1999" Linux "Manuel du programmeur Linux"
.UC 7
.SH NOM
recno \- Mthodes d'accs aux bases de donnes avec enregistrements numrots.
.SH SYNOPSIS
.nf
.ft B
#include <sys/types.h>
#include <db.h>
.ft R
.fi
.SH DESCRIPTION
La routine
.IR dbopen
est l'interface de bibliothque pour les fichiers de base de donnes.
L'un des formats de fichier supports est celui avec enregistrements
numrots.
La description gnrale des mthodes d'accs  une base de donnes
est fournie dans la page de manuel
.IR dbopen (3).
La page prsente ne dcrit que les informations spcifiques aux enregistrements
numrots.
.PP
La structure de cette base ds donnes est une srie d'enregistrements
de longueurs variables ou fixes, stocks dans un fichier linaire, et
auxquels on accde par les numros logiques d'enregistrement.
L'existence de l'enregistrement numro 5 implique l'existence des
enregistrements 1  4, et l'effacement du numro entrane la renumrotation
de l'enregistrement 5 en 4, ainsi que le dplacement d'un cran du curseur
s'il tait positionn aprs l'enregistrement 1.
.PP
La structure de donnes spcifique pour l'accs aux enregistrements numrots,
et que l'on transmet 
.I dbopen
est dfinie dans <db.h> ainsi :
.PP
typedef struct {
.RS
u_long flags;
.br
u_int cachesize;
.br
u_int psize;
.br
int lorder;
.br
size_t reclen;
.br
u_char bval;
.br
char *bfname;
.RE
} RECNOINFO;
.PP
Les lments de cette structure sont les suivants :
.TP
flags
La valeur de ce champ est calcul avec un
.IR OU
binaire sur certaines des constantes suivantes :
.RS
.TP
R_FIXEDLEN
Les enregistrements ont une taille fixe, et non pas dlimits.
Le champ
.I reclen
de la structure indique la longueur de l'enregistrement, et
le champ
.I bval
contient le caractre  utiliser pour les remplissages ventuels.
Tout enregistrement, insr dans la base de donnes, ayant moins de
.I reclen
octets de long sera automatiquement along.
.TP
R_NOKEY
Avec l'interface spcifie par
.IR dbopen ,
le parcours squentiel renseigne  la fois la structure
.I cl
de l'appelant, et la structure des
.IR donnes .
Si l'argument R_NOKEY est utilis les routines de gestion du
.I curseur
ne sont pas obliges de remplir la structure cl.
Ceci permet aux applications d'accder  des enregistrements en fin
de fichier sans avoir  relire tous les enregistrements prcdents.
.TP
R_SNAPSHOT
Ce drapeau demande qu'une image du fichier soit saisie lorsque
.I dbopen
est ouvert, plutt que de lire tout enregistrement non modifi
dans le fichier original.
.RE
.TP
cachesize
Une taille maximale suggre de mmoire cache, en octets. Ceci n'a
qu'une valeur
.BR indicative ,
et les mthodes d'accs alloueront plus de mmoire plutt que d'chouer.
Si
.I cachesize
vaut  0 (pas de taille indique) on utilise une valeur par dfaut.
.TP
psize
La mthode d'accs recno stocke les copies en mmoire de ses enregistrements
dans un arbre B-tree.
Cette valeur est la taille (en octets) des pages  utiliser pour les
noeuds de cet arbre.
Si
.I psize
vaut  0 (pas de taille indique) une taille de page est choisie en fonction
des tailles de blocs d'entre-sortie du systme de fichiers sous-jacent.
Voir
.IR btree (3)
pour plus d'information.
.TP
lorder
L'ordre des octets pour les entiers stocks dans la base de donnes.
Ce nombre doit reprsenter l'ordre sous forme d'entier. Par exemple l'ordre
poids faible-poids fort (big endian) est reprsent par le nombre 4321.
Si
.I lorder
vaut 0 (pas d'ordre indiqu), on utilise l'ordre des octets du systme hte.
.TP
reclen
La longueur des enregistrements de taille fixe.
.TP
bval
L'octet de marquage servant  dlimiter les enregistrements de longueurs
variables, et l'octet de remplissage pour les enregistrements de taille fixe.
Si aucune valeur n'est indique, le caractre fin-de-lignes (``\en'')
est utilis comma dlimiteur et les enregistrements de tailles fixes sont
complts avec des espaces.
.TP
bfname
La mthode d'accs recno stocke les copies en mmoire de ses enregistrements
dans un arbre B-tree.
Si bfname n'est pas NULL, il indique le nom du fichier B-tree.
.PP
La partie ``donne'' des paires cls/donnees utilises par les mthodes
d'accs recno est la mme que pour les autres mthodes d'accs.
La cl est diffrente.
Le champ
.I data
de la cl doit tre un pointeur sur un emplacement mmoire du type
.IR recno_t ,
ainsi qu'il est dfini dans le fichier d'en-tte <db.h>.
Ce type est normalement le plus grand des types d'entiers non signs
disponibles pour l'implmentation.
Le champ
.I size
doit contenir la longueur de ce type de donne.
.PP
Comme il ne peut pas y avoir de mta-donnes associes aux fichiers
sous-jacent aux mthodes recno, tout changement par rapport aux valeurs
par dfaut (par exemple longueur des enregistrements fixes, ou caractre
sparateur) doit tre indiqu explicitement  chaque fois que le fichier est
ouvert.
.PP
Avec l'interface indique par
.IR dbopen ,
l'utilisation de la routine
.I put
pour crer un nouvel enregistrement causera la cration de plusieurs
enregistrements vides si le numro d'enregistrement est suprieur de
plus d'une unit au plus grand numro dj prsent dans la base de donnes.
.SH ERREURS
Les routines des mthodes d'accs au
.I "enregistrements numrots"
peuvent chouer et remplir
.I errno
avec n'importe quelle erreur indique par la routine
.IR dbopen (3)
ou la suivante :
.TP
[EINVAL]
On a essay d'ajouter un enregistrement trop grand dans une base de
donnes avec longueurs fixes.
.SH "VOIR AUSSI"
.IR btree (3)
.IR dbopen (3),
.IR hash (3),
.IR mpool (3),
.sp
.IR "Document Processing in a Relational Database System" ,
Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman,
Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.

.SH BOGUES
Seuls les ordres d'octets big-endian et little-endian fonctionnent.

.SH TRADUCTION
Christophe Blaess, 1999