| recno(3) | Library Functions Manual | recno(3) |
recno - metodă de acces la baza de date cu numărul de înregistrare
Biblioteca C standard (libc, -lc)
#include <sys/types.h> #include <db.h>
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ă:
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.
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:
Se acceptă numai ordinea big și little endian a octeților.
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.
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.
| 15 iunie 2024 | 4.4 Berkeley Distribution |