Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       recno  -  Methodes  d'acces  aux  bases de donnees avec enregistrements
       numerotes

SYNOPSIS

       #include <sys/types.h>
       #include <db.h>

DESCRIPTION

       La routine dbopen(3) est l'interface de bibliotheque pour les  fichiers
       de  base  de  donnees.  L'un des formats de fichier supportes est celui
       avec enregistrements numerotes. La description  generale  des  methodes
       d'acces  a  une  base  de  donnees  est  fournie dans la page de manuel
       dbopen(3). La page presente ne decrit que les informations  specifiques
       aux enregistrements numerotes.

       La  structure  de cette base de donnees est une serie d'enregistrements
       de longueurs variables ou fixes, stockes dans un fichier  lineaire,  et
       auxquels   on   accede   par  les  numeros  logiques  d'enregistrement.
       L'existence de  l'enregistrement  numero  5  implique  l'existence  des
       enregistrements   1   a  4,  et  l'effacement  du  numero  entraine  la
       renumerotation de l'enregistrement 5 en 4,  ainsi  que  le  deplacement
       d'un cran du curseur s'il etait positionne apres l'enregistrement 1.

       La  structure  de  donnees  specifique pour l'acces aux enregistrements
       numerotes, et que l'on transmet a dbopen(3)  est  definie  dans  <db.h>
       ainsi :

           typedef struct {
               unsigned long flags;
               unsigned int  cachesize;
               unsigned int  psize;
               int           lorder;
               size_t        reclen;
               unsigned char bval;
               char         *bfname;
           } RECNOINFO;

       Les elements de cette structure sont les suivants :

       flags  La  valeur  de  ce  champ  est  calculee  avec un OU binaire sur
              certaines des constantes suivantes :

              R_FIXEDLEN
                     Les enregistrements ont  une  taille  fixe,  et  non  pas
                     delimites.  Le  champ  reclen  de la structure indique la
                     longueur de l'enregistrement, et le champ  bval  contient
                     le  caractere a utiliser pour les remplissages eventuels.
                     Tout enregistrement, insere  dans  la  base  de  donnees,
                     ayant moins de reclen octets de long sera automatiquement
                     allonge.

              R_NOKEY
                     Avec l'interface specifiee  par  dbopen(3),  le  parcours
                     sequentiel  renseigne  a  la  fois  la  structure  cl'e de
                     l'appelant, et la structure des  donn'ees.  Si  l'argument
                     R_NOKEY est utilise les routines de gestion du curseur ne
                     sont pas obligees  de  remplir  la  structure  cle.  Ceci
                     permet  aux  applications d'acceder a des enregistrements
                     en  fin  de  fichier  sans  avoir  a  relire   tous   les
                     enregistrements precedents.

              R_SNAPSHOT
                     Ce  drapeau  demande  qu'une image du fichier soit saisie
                     lorsque dbopen(3) est ouvert, plutot  que  de  lire  tout
                     enregistrement non modifie dans le fichier original.

       cachesize
              Une  taille  maximale suggeree de memoire cache, en octets. Ceci
              n'a qu'une valeur indicative, et les methodes d'acces alloueront
              plus  de  memoire plutot que d'echouer. Si cachesize vaut 0 (pas
              de taille indiquee) on utilise une valeur par defaut.

       psize  La methode d'acces recno stocke les copies  en  memoire  de  ses
              enregistrements dans un arbre B-tree. Cette valeur est la taille
              (en octets) des pages a utiliser pour les noeuds de  cet  arbre.
              Si psize vaut 0 (pas de taille indiquee), une taille de page est
              choisie en fonction des  tailles  de  blocs  d'entree-sortie  du
              systeme  de  fichiers  sous-jacent. Consultez btree(3) pour plus
              d'informations.

       lorder L'ordre des octets des entiers stockes dans la base de  donnees.
              Ce  nombre  doit  representer  l'ordre  sous forme d'entier. Par
              exemple, l'ordre poids faible poids  fort  (gros  boutiste)  est
              represente  par  le  nombre  4321. Si lorder vaut 0 (aucun ordre
              indique), on utilise l'ordre des octets du systeme hote.

       reclen La longueur des enregistrements de taille fixe.

       bval   L'octet de marquage servant a delimiter les  enregistrements  de
              longueurs   variables,   et  l'octet  de  remplissage  pour  les
              enregistrements de taille fixe. Si aucune valeur n'est indiquee,
              le  caractere fin-de-ligne << \n >> est utilise comma delimiteur
              et les enregistrements de tailles fixes sont completes avec  des
              espaces.

       bfname La  methode  d'acces  recno  stocke les copies en memoire de ses
              enregistrements dans un arbre B-tree. Si bfname n'est pas  NULL,
              il  indique  le  nom du fichier B-tree, comme s'il s'agissait du
              nom du fichier pour un appel a dbopen(3).

       La partie  << donnee >>  des  paires  cles/donneees  utilisees  par  la
       methode d'acces recno est la meme que pour les autres methodes d'acces.
       La cle est differente. Le champ data de la cle doit  etre  un  pointeur
       sur  un  emplacement memoire du type recno_t, tel qu'il est defini dans
       le fichier d'en-tete <db.h>. Ce type est normalement le plus grand  des
       types  d'entiers non signes disponibles pour l'implementation. Le champ
       size doit contenir la longueur de ce type de donnee.

       Comme il ne peut pas y avoir de  meta-donnees  associees  aux  fichiers
       sous-jacent aux methodes recno, tout changement par rapport aux valeurs
       par  defaut  (par  exemple  longueur  des  enregistrements  fixes,   ou
       caractere separateur) doit etre indique explicitement a chaque fois que
       le fichier est ouvert.

       Avec l'interface indiquee par dbopen(3), l'utilisation  de  la  routine
       put  pour  creer  un  nouvel  enregistrement  causera  la  creation  de
       plusieurs enregistrements  vides  si  le  numero  d'enregistrement  est
       superieur de plus d'une unite au plus grand numero deja present dans la
       base de donnees.

ERREURS

       Les routines des methodes d'acces  recno  peuvent  echouer  et  remplir
       errno avec n'importe quelle erreur indiquee par la routine dbopen(3) ou
       la suivante :

       EINVAL On a essaye d'ajouter un enregistrement trop grand dans une base
              de donnees avec longueurs fixes.

BOGUES

       Seuls  les ordres d'octets gros boutiste (big-endian) et petit boutiste
       (little-endian) fonctionnent.

VOIR AUSSI

       btree(3), dbopen(3), hash(3), mpool(3)

       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.

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006).   Nicolas
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

4.4 Berkeley Distribution        18 aout 1994                         RECNO(3)