Provided by: manpages-ro-dev_4.26.0-1_all bug

NUME

       recno - metodă de acces la baza de date cu numărul de înregistrare

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

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

DESCRIERE

       Notează bine: Această pagină documentează interfețele furnizate până la glibc 2.1. Începând cu glibc 2.2,
       glibc  nu  mai  furnizează  aceste  interfețe.  Probabil  că,  în  schimb, căutați API-urile furnizate de
       biblioteca libdbb.

       Rutina dbopen(3) este interfața bibliotecii cu fișierele de  baze  de  date.  Unul  dintre  formatele  de
       fișiere  acceptate  este  cel al fișierelor cu numere de înregistrare. Descrierea generală a metodelor de
       accesare a bazei de date se găsește în dbopen(3), această pagină  de  manual  descrie  doar  informațiile
       specifice pentru recno.

       Structura de date a numărului de înregistrare este formată din înregistrări cu lungime variabilă sau fixă
       stocate  într-un  format  de  fișier  plat,  accesate  prin  numărul  logic  de  înregistrare.  Existența
       înregistrării cu numărul cinci implică existența înregistrărilor  de  la  unu  la  patru,  iar  ștergerea
       înregistrării  cu numărul unu face ca înregistrarea cu numărul cinci să fie renumerotată în înregistrarea
       cu numărul patru, iar cursorul, dacă este poziționat după înregistrarea cu numărul unu, să  se  deplaseze
       cu o înregistrare în jos.

       Structura  de  date specifică metodei de acces recno furnizată lui dbopen(3) este definită în fișierul de
       includere <db.h> după cum urmează:

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

       Elementele acestei structuri sunt definite după cum urmează:

       flags  Valoarea fanionului este specificată prin  combinarea  prin  OR  a  oricăreia  dintre  următoarele
              valori:

              R_FIXEDLEN
                     Înregistrările  sunt  de lungime fixă, nu sunt delimitate de octeți. Elementul de structură
                     reclen specifică lungimea înregistrării, iar elementul de structură bval este  utilizat  ca
                     caracter  de  rezervă.  Toate înregistrările inserate în baza de date care au o lungime mai
                     mică de reclen octeți sunt automat completate.

              R_NOKEY
                     În  interfața  specificată  de  dbopen(3),  recuperarea   secvențială   a   înregistrărilor
                     completează  atât  cheia,  cât  și structurile de date ale apelantului. În cazul în care se
                     specifică indicatorul R_NOKEY, rutinele cursor nu trebuie să  completeze  structura  cheie.
                     Acest  lucru  permite  aplicațiilor să recupereze înregistrările de la sfârșitul fișierelor
                     fără a citi toate înregistrările intermediare.

              R_SNAPSHOT
                     Acest fanion impune ca o imagine instantanee a fișierului să fie  luată  atunci  când  este
                     apelat  dbopen(3),  în  loc  să  permită  citirea înregistrărilor nemodificate din fișierul
                     original.

       cachesize
              Dimensiunea maximă sugerată, în octeți, a memoriei cache. Această valoare este numai consultativă,
              iar metoda de acces va aloca mai multă memorie în loc să eșueze. Dacă cachesize este  0  (nu  este
              specificată nicio dimensiune), se utilizează o memorie cache implicită.

       psize  Metoda de acces recno stochează copiile în memorie ale înregistrărilor sale într-un btree. Această
              valoare  reprezintă  dimensiunea  (în  octeți)  a paginilor utilizate pentru nodurile din arborele
              respectiv. Dacă psize este 0 (nu este specificată dimensiunea paginii), dimensiunea  paginii  este
              aleasă  pe  baza  dimensiunii blocului de intrare/ieșire din sistemul de fișiere. Pentru mai multe
              informații, consultați btree(3).

       lorder Ordinea octeților pentru numerele întregi din metadatele stocate  în  baza  de  date.  Numărul  ar
              trebui  să reprezinte ordinea ca număr întreg; de exemplu, ordinea big endian ar fi numărul 4,321.
              Dacă lorder este 0 (nu se specifică nicio ordine), se utilizează ordinea curentă a gazdei.

       reclen Lungimea unei înregistrări de lungime fixă.

       bval   Octetul de delimitare care trebuie utilizat pentru a marca sfârșitul unei  înregistrări  în  cazul
              înregistrărilor  de lungime variabilă și caracterul de umplere în cazul înregistrărilor de lungime
              fixă. Dacă nu se specifică nicio valoare, se utilizează linii noi („\n”) pentru a marca  sfârșitul
              înregistrărilor  de  lungime  variabilă,  iar  înregistrările  de  lungime fixă sunt completate cu
              spații.

       bfname Metoda de acces recno stochează copiile în memorie ale înregistrărilor sale  într-un  btree.  Dacă
              bfname  nu  este NULL, se specifică numele fișierului btree, ca și cum ar fi specificat ca nume de
              fișier pentru un dbopen(3) al unui fișier btree.

       Partea de date a perechii cheie/date utilizată de metoda de acces recno  este  aceeași  cu  cea  a  altor
       metode  de  acces.  Cheia este diferită. Câmpul data al cheii trebuie să fie un indicator la o locație de
       memorie de tip recno_t, așa cum este definit în fișierul de includere <db.h>.  Acest  tip  este,  în  mod
       normal,  cel mai mare tip integral fără semn disponibil pentru implementare. Câmpul size al cheii trebuie
       să fie dimensiunea acestui tip.

       Deoarece nu pot exista metadate asociate  cu  fișierele  de  bază  ale  metodei  de  acces  recno,  orice
       modificări   aduse   valorilor  implicite  (de  exemplu,  lungimea  fixă  a  înregistrării  sau  valoarea
       separatorului de octeți) trebuie să fie specificate în mod explicit de fiecare dată  când  fișierul  este
       deschis.

       În  interfața  specificată  de  dbopen(3), utilizarea interfeței put pentru a crea o nouă înregistrare va
       duce la crearea mai multor înregistrări goale dacă numărul înregistrării este cu mai mult de unu mai mare
       decât cea mai mare înregistrare existentă în prezent în baza de date.

ERORI-IEȘIRE

       Rutinele metodei de acces recno pot eșua și configura errno pentru  oricare  dintre  erorile  specificate
       pentru rutina de bibliotecă dbopen(3) sau pentru următoarele:

       EINVAL S-a  încercat  adăugarea  unei  înregistrări  la o bază de date cu lungime fixă care era prea mare
              pentru a încăpea.

ERORI

       Se acceptă numai ordinea big și little endian a octeților.

CONSULTAȚI ȘI

       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 nr. UCB/ERL M82/32, mai 1982.

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

4.4 Berkeley Distribution                         15 iunie 2024                                         recno(3)