| 12
 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
 |