.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)recno.3 8.5 (Berkeley) 8/18/94 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH recno 3 "4 decembrie 2022" "Pagini de manual de Linux 6.05.01" .UC 7 .SH NUME recno \- metodă de acces la baza de date cu numărul de înregistrare .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include #include \fP .fi .SH DESCRIERE \fINotează bine\fP: 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 \fIlibdbb\fP. .PP Rutina \fBdbopen\fP(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 \fBdbopen\fP(3), această pagină de manual descrie doar informațiile specifice pentru recno. .PP 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. .PP Structura de date specifică metodei de acces recno furnizată lui \fBdbopen\fP(3) este definită în fișierul de includere \fI\fP după cum urmează: .PP .in +4n .EX typedef struct { unsigned long flags; unsigned int cachesize; unsigned int psize; int lorder; size_t reclen; unsigned char bval; char *bfname; } RECNOINFO; .EE .in .PP Elementele acestei structuri sunt definite după cum urmează: .TP \fIfanioane\fP Valoarea fanionului este specificată prin combinarea prin OR a oricăreia dintre următoarele valori: .RS .TP \fBR_FIXEDLEN\fP Înregistrările sunt de lungime fixă, nu sunt delimitate de octeți. Elementul de structură \fIreclen\fP specifică lungimea înregistrării, iar elementul de structură \fIbval\fP este utilizat ca caracter de rezervă. Toate înregistrările inserate în baza de date care au o lungime mai mică de \fIreclen\fP octeți sunt automat completate. .TP \fBR_NOKEY\fP În interfața specificată de \fBdbopen\fP(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 \fBR_NOKEY\fP, rutinele \fIcursor\fP 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. .TP \fBR_SNAPSHOT\fP Acest fanion impune ca o imagine instantanee a fișierului să fie luată atunci când este apelat \fBdbopen\fP(3), în loc să permită citirea înregistrărilor nemodificate din fișierul original. .RE .TP \fIcachesize\fP Dimensiunea maximă sugerată, în octeți, a memoriei cache. Această valoare este \fBnumai\fP consultativă, iar metoda de acces va aloca mai multă memorie în loc să eșueze. Dacă \fIcachesize\fP este 0 (nu este specificată nicio dimensiune), se utilizează o memorie cache implicită. .TP \fIpsize\fP 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ă \fIpsize\fP 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 \fBbtree\fP(3). .TP \fIlorder\fP 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ă \fIlorder\fP este 0 (nu se specifică nicio ordine), se utilizează ordinea curentă a gazdei. .TP \fIreclen\fP Lungimea unei înregistrări de lungime fixă. .TP \fIbval\fP 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 („\en”) pentru a marca sfârșitul înregistrărilor de lungime variabilă, iar înregistrările de lungime fixă sunt completate cu spații. .TP \fIbfname\fP Metoda de acces recno stochează copiile în memorie ale înregistrărilor sale într\-un btree. Dacă \fIbfname\fP nu este NULL, se specifică numele fișierului btree, ca și cum ar fi specificat ca nume de fișier pentru un \fBdbopen\fP(3) al unui fișier btree. .PP Partea de date a perechii cheie/date utilizată de metoda de acces \fIrecno\fP este aceeași cu cea a altor metode de acces. Cheia este diferită. Câmpul \fIdata\fP al cheii trebuie să fie un indicator la o locație de memorie de tip \fIrecno_t\fP, așa cum este definit în fișierul de includere \fI\fP. Acest tip este, în mod normal, cel mai mare tip integral fără semn disponibil pentru implementare. Câmpul \fIsize\fP al cheii trebuie să fie dimensiunea acestui tip. .PP 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. .PP În interfața specificată de \fBdbopen\fP(3), utilizarea interfeței \fIput\fP 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. .SH ERORI\-IEȘIRE Rutinele metodei de acces \fIrecno\fP pot eșua și configura \fIerrno\fP pentru oricare dintre erorile specificate pentru rutina de bibliotecă \fBdbopen\fP(3) sau pentru următoarele: .TP \fBEINVAL\fP S\-a încercat adăugarea unei înregistrări la o bază de date cu lungime fixă care era prea mare pentru a încăpea. .SH ERORI Se acceptă numai ordinea big și little endian a octeților. .SH "CONSULTAȚI ȘI" \fBbtree\fP(3), \fBdbopen\fP(3), \fBhash\fP(3), \fBmpool\fP(3) .PP \fIDocument Processing in a Relational Database System\fP, Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman, Nadene Lynn, Memorandum nr. UCB/ERL M82/32, mai 1982. .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .