Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       recno  -  Méthodes  d’accès  aux  bases de données avec enregistrements
       numérotés

SYNOPSIS

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

DESCRIPTION

       La routine dbopen est l’interface de bibliothèque pour les fichiers  de
       base  de  données. L’un des formats de fichier supportés est celui avec
       enregistrements numérotés. La description générale des méthodes d’accès
       à  une base de données est fournie dans la page de manuel dbopen(3). La
       page  présente  ne  décrit  que  les   informations   spécifiques   aux
       enregistrements numérotés.

       La  structure  de cette base de données est une série d’enregistrements
       de longueurs variables ou fixes, stockés dans un fichier  linéaire,  et
       auxquels   on   accède   par  les  numéros  logiques  d’enregistrement.
       L’existence de  l’enregistrement  numéro  5  implique  l’existence  des
       enregistrements   1   à  4,  et  l’effacement  du  numéro  entraîne  la
       renumérotation de l’enregistrement 5 en 4,  ainsi  que  le  déplacement
       d’un cran du curseur s’il était positionné après l’enregistrement 1.

       La  structure  de  données  spécifique pour l’accès aux enregistrements
       numérotés, et que l’on transmet à  dbopen()  est  définie  dans  <db.h>
       ainsi :

       typedef struct {
           u_long  flags;
           u_int   cachesize;
           u_int   psize;
           int     lorder;
           size_t  reclen;
           u_char  bval;
           char   *bfname;
       } RECNOINFO;

       Les éléments de cette structure sont les suivants :

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

              R_FIXEDLEN
                     Les enregistrements ont  une  taille  fixe,  et  non  pas
                     délimités.  Le  champ  reclen  de la structure indique la
                     longueur de l’enregistrement, et le champ  bval  contient
                     le  caractère à utiliser pour les remplissages éventuels.
                     Tout enregistrement, inséré  dans  la  base  de  données,
                     ayant moins de reclen octets de long sera automatiquement
                     allongé.

              R_NOKEY
                     Avec l’interface  spécifiée  par  dbopen(),  le  parcours
                     séquentiel  renseigne  à  la  fois  la  structure  cl de
                     l’appelant, et la structure des  donnes.  Si  l’argument
                     R_NOKEY est utilisé les routines de gestion du curseur ne
                     sont pas obligées  de  remplir  la  structure  clé.  Ceci
                     permet  aux  applications d’accéder à des enregistrements
                     en  fin  de  fichier  sans  avoir  à  relire   tous   les
                     enregistrements précédents.

              R_SNAPSHOT
                     Ce  drapeau  demande  qu’une image du fichier soit saisie
                     lorsque dbopen() est ouvert,  plutôt  que  de  lire  tout
                     enregistrement non modifié dans le fichier original.

       cachesize
              Une  taille  maximale suggérée de mémoire cache, en octets. Ceci
              n’a qu’une valeur indicative, et les méthodes d’accès alloueront
              plus  de  mémoire plutôt que d’échouer. Si cachesize vaut 0 (pas
              de taille indiquée) on utilise une valeur par défaut.

       psize  La méthode d’accès recno stocke les copies  en  mémoire  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 psize vaut 0 (pas de taille indiquée), une taille de page est
              choisie en fonction des  tailles  de  blocs  d’entrée-sortie  du
              système   de  fichiers  sous-jacent.  Voir  btree(3)  pour  plus
              d’informations.

       lorder L’ordre des octets pour les entiers  stockés  dans  la  base  de
              données. Ce nombre doit représenter l’ordre sous forme d’entier.
              Par exemple, l’ordre gros boutiste (big-endian)  est  représenté
              par  le  nombre 4321. Si lorder vaut 0 (pas d’ordre indiqué), on
              utilise l’ordre des octets du système hôte.

       reclen La longueur des enregistrements de taille fixe.

       bval   L’octet de marquage servant à délimiter les  enregistrements  de
              longueurs   variables,   et  l’octet  de  remplissage  pour  les
              enregistrements de taille fixe. Si aucune valeur n’est indiquée,
              le caractère fin-de-ligne « \n » est utilisé comma délimiteur et
              les enregistrements de tailles fixes  sont  complétés  avec  des
              espaces.

       bfname La  méthode  d’accès  recno  stocke les copies en mémoire 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 à dbopen.

       La  partie  « donnée »  des  paires  clés/donnéees  utilisées  par  les
       méthodes  d’accès  recno  est  la  même  que  pour  les autres méthodes
       d’accès. La clé est différente. Le champ data de la clé  doit  être  un
       pointeur  sur  un  emplacement  mémoire  du type recno_t, tel qu’il est
       défini dans le fichier d’en-tête <db.h>. Ce  type  est  normalement  le
       plus   grand   des   types   d’entiers   non  signés  disponibles  pour
       l’implémentation. Le champ size doit contenir la longueur de ce type de
       donnée.

       Comme  il  ne  peut  pas y avoir de méta-données associées aux fichiers
       sous-jacent aux méthodes recno, tout changement par rapport aux valeurs
       par   défaut  (par  exemple  longueur  des  enregistrements  fixes,  ou
       caractère séparateur) doit être indiqué explicitement à chaque fois que
       le fichier est ouvert.

       Avec  l’interface  indiquée par dbopen, l’utilisation de la routine put
       pour créer un nouvel enregistrement causera la  création  de  plusieurs
       enregistrements  vides  si  le numéro d’enregistrement est supérieur de
       plus d’une unité au plus grand numéro déjà  présent  dans  la  base  de
       données.

ERREURS

       Les  routines  des  méthodes  d’accès  recno peuvent échouer et remplir
       errno avec n’importe quelle erreur indiquée par la routine dbopen(3) ou
       la suivante :

       [EINVAL]
              On a essayé d’ajouter un enregistrement trop grand dans une base
              de données 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.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

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

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».