1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
|
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)recno.3 8.5 (Berkeley) 8/18/94
.\"
.TH RECNO 3 "18 de agosto de 1994"
.UC 7
.SH NOME
recno \- mtodo de acesso a banco de dados por nmero de registro
.SH SINOPSE
.nf
.ft B
#include <sys/types.h>
#include <db.h>
.ft R
.fi
.SH DESCRIO
A rotina
.IR dbopen
a interface de biblioteca para arquivos de banco de dados. Um dos formatos de
arquivos suportados so os arquivos de nmero de registros. A descrio geral dos
mtodos de acesso a banco de dados est em
.IR dbopen (3),
esta pgina de manual descreve somente a informao especfica de recno.
.PP
A estrutura de dados de nmero de registro so registros variveis ou de comprimento
fixo, armazenados em formato de arquivo liso, acessado por nmero de registro lgico.
A existncia do nmero de registro cinco implica na existncia dos registros de um a
quatro, e o apagamento do registro um faz com que o registro nmero cinco seja
renumerado para quatro, assim como o cursor, que se estiver posicionado depois do registro
nmero um, deslocado em um registro para baixo.
.PP
A estrutura de dados especfico do mtodo de acesso recno fornecida para
.I dbopen
definida no arquivo de incluso <db.h>, como a seguir:
.PP
typedef struct {
.RS
u_long flags;
.br
u_int cachesize;
.br
u_int psize;
.br
int lorder;
.br
size_t reclen;
.br
u_char bval;
.br
char *bfname;
.RE
} RECNOINFO;
.PP
Os elementos desta estrutura so definidos como segue:
.TP
flags
O valor da flag especificado por
.IR ou est especificando
qualquer um dos seguintes valores:
.RS
.TP
R_FIXEDLEN
Os registros so de comprimento fixo, no delimitados por byte.
O elemento de estrutura
.I reclen
especifica o comprimento do registro, e o elemento de estrutura
.I bval
usado como o caractere de preenchimento.
Quaisquer registros, inseridos no banco de dados, que tm menos do que
.I reclen
bytes de comprimento so completados automaticamente.
.TP
R_NOKEY
Na interface especificada por
.IR dbopen ,
a recuperao de registros sequenciais preenchem tanto a chave do solicitante
quanto as estruturas de dados.
Se a flag R_NOKEY especificada, as rotinas do
.I cursor
no so requeridas para preencher a estrutura da chave. Isto permite que as
aplicaes recuperem registros no fim dos arquivos sem ler todos os registros
intermedirios.
.TP
R_SNAPSHOT
Esta flag requer que uma imagem instantnea do arquivo seja tomada quando
.I dbopen
chamado, em vez de permitir que qualquer registro no modificado seja lido
do arquivo original.
.RE
.TP
cachesize
Um tamanho mximo sugerido, em bytes, do cache de memria.
Este valor
.B apenas
uma recomendao, e o mtodo de acesso alocar mais memria em vez de falhar.
Se
.I cachesize
0 (nenhum tamanho especificado), usado um cache padro.
.TP
psize
O mtodo de acesso recno armazena as cpias em memria dos seus registros
em uma btree.
Este valor o tamanho (em bytes) das pginas usadas para os ns daquela rvore.
Se
.I psize
0 (o tamanho da pgina no especificado), escolhido um tamanho de pgina
baseado no tamanho bsico do bloco de E/S do sistema de arquivos.
Veja
.IR btree (3)
para mais informaes.
.TP
lorder
A ordem de bytes para inteiros nos metadados armazenados do banco de dados.
O nmero deve representar a ordem como um inteiro; por exemplo, a ordem
"big endian" deveria ser o nmero 4,321.
Se
.I lorder
0 (a ordem no especificada), a ordem corrente do host usada.
.TP
reclen
O comprimento de um registro de comprimento fixo.
.TP
bval
O byte delimitante a ser usado para marcar o fim de um registro para registros
de comprimento varivel, e o caractere de preenchimento para registros de comprimento fixo.
Se nenhum valor especificado, novas linhas (``\en'') so usadas para marcar o
fim de registros de comprimento varivel, e registros de comprimento fixo so completados
com espaos.
.TP
bfname
O mtodo de acesso recno armazena as cpias em memria dos seus registros em uma
btree.
Se bfname no NULL, ele especifica o nome do arquivo da btree, como se fosse
especificado como um nome de arquivo para um dbopen de um arquivo da btree.
.PP
A parte dos dados de um par chave/dados usado para o mtodo de acesso recno o mesmo
que em outros mtodos de acesso. A chave diferente.
O campo
.I data
da chave deve ser um ponteiro para um local da memria do tipo
.IR recno_t ,
como definido no arquivo de incluso <db.h>. Este tipo normalmente o maior tipo
integral sem sinal disponvel para a inplementao.
O campo
.I size
da chave deve ser o tamanho daquele tipo.
.PP
Como pode no haver metadados associados com os arquivos bsicos do mtodo de acesso
recno, qualquer mudana feita nos valores padro (por exemplo, comprimento fixo dos
registros ou valor do separador de bytes) precisa ser especificada explicitamente
cada vez que o arquivo aberto.
.PP
Na interface especificada por
.IR dbopen ,
usar a interface
.I put
para criar um novo registro far com que sejam criados vrios registros vazios se o
nmero do registro maior, por mais de um, que o maior registro correntemente no
banco de dados.
.SH ERROS
As rotinas do mtodo de acesso
.I recno
podem falhar e setar
.I errno
para qualquer um dos erros especificados para a rotina de biblioteca
.IR dbopen (3)
, ou os seguintes:
.TP
[EINVAL]
Uma tentativa foi feita para acrescentar um registro a um banco de dados de comprimento
fixo que era muito grande para caber.
.SH "VEJA TAMBM"
.IR btree (3)
.IR dbopen (3),
.IR hash (3),
.IR mpool (3),
.sp
.IR "Processamento de Documentos em um Sistema de Banco de Dados Relacional" ,
Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman,
Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.
.SH ERROS
Somente as ordens de byte 'big endian' (primeiro o mais significativo) e 'little endian'
(primeiro o byte menos significativo) so suportadas.
.SH TRADUZIDO POR LDP-BR EM 03/08/2000
\&\fR\&\f(CWRUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWXXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (reviso)\fR
|