Provided by:
manpages-pt-dev_20040726-4_all 
NOME
recno - metodo de acesso a banco de dados por numero de registro
SINOPSE
#include <sys/types.h>
#include <db.h>
DESCRI,C~AO
A rotina dbopen e a interface de biblioteca para arquivos de banco de
dados. Um dos formatos de arquivos suportados sao os arquivos de numero
de registros. A descricao geral dos metodos de acesso a banco de dados
esta em dbopen(3), esta pagina de manual descreve somente a informacao
especifica de recno.
A estrutura de dados de numero de registro sao registros variaveis ou
de comprimento fixo, armazenados em formato de arquivo liso, acessado
por numero de registro logico. A existencia do numero de registro
cinco implica na existencia dos registros de um a quatro, e o
apagamento do registro um faz com que o registro numero cinco seja
renumerado para quatro, assim como o cursor, que se estiver posicionado
depois do registro numero um, e deslocado em um registro para baixo.
A estrutura de dados especifico do metodo de acesso recno fornecida
para dbopen e definida no arquivo de inclusao <db.h>, como a seguir:
typedef struct {
u_long flags;
u_int cachesize;
u_int psize;
int lorder;
size_t reclen;
u_char bval;
char *bfname;
} RECNOINFO;
Os elementos desta estrutura sao definidos como segue:
flags O valor da flag e especificado por ouestaespecificando qualquer
um dos seguintes valores:
R_FIXEDLEN
Os registros sao de comprimento fixo, nao delimitados por
byte. O elemento de estrutura reclen especifica o
comprimento do registro, e o elemento de estrutura bval e
usado como o caractere de preenchimento. Quaisquer
registros, inseridos no banco de dados, que tem menos do
que reclen bytes de comprimento sao completados
automaticamente.
R_NOKEY
Na interface especificada por dbopen, a recuperacao de
registros sequenciais preenchem tanto a chave do
solicitante quanto as estruturas de dados. Se a flag
R_NOKEY e especificada, as rotinas do cursor nao sao
requeridas para preencher a estrutura da chave. Isto
permite que as aplicacoes recuperem registros no fim dos
arquivos sem ler todos os registros intermediarios.
R_SNAPSHOT
Esta flag requer que uma imagem instantanea do arquivo
seja tomada quando dbopen e chamado, em vez de permitir
que qualquer registro nao modificado seja lido do arquivo
original.
cachesize
Um tamanho maximo sugerido, em bytes, do cache de memoria. Este
valor e apenas uma recomendacao, e o metodo de acesso alocara
mais memoria em vez de falhar. Se cachesize e 0 (nenhum tamanho
e especificado), e usado um cache padrao.
psize O metodo de acesso recno armazena as copias em memoria dos seus
registros em uma btree. Este valor e o tamanho (em bytes) das
paginas usadas para os nos daquela arvore. Se psize e 0 (o
tamanho da pagina nao e especificado), e escolhido um tamanho de
pagina baseado no tamanho basico do bloco de E/S do sistema de
arquivos. Veja btree(3) para mais informacoes.
lorder A ordem de bytes para inteiros nos metadados armazenados do
banco de dados. O numero deve representar a ordem como um
inteiro; por exemplo, a ordem "big endian" deveria ser o numero
4,321. Se lorder e 0 (a ordem nao e especificada), a ordem
corrente do host e usada.
reclen O comprimento de um registro de comprimento fixo.
bval O byte delimitante a ser usado para marcar o fim de um registro
para registros de comprimento variavel, e o caractere de
preenchimento para registros de comprimento fixo. Se nenhum
valor e especificado, novas linhas (``\n'') sao usadas para
marcar o fim de registros de comprimento variavel, e registros
de comprimento fixo sao completados com espacos.
bfname O metodo de acesso recno armazena as copias em memoria dos seus
registros em uma btree. Se bfname nao e 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.
A parte dos dados de um par chave/dados usado para o metodo de acesso
recno e o mesmo que em outros metodos de acesso. A chave e diferente.
O campo data da chave deve ser um ponteiro para um local da memoria do
tipo recno_t, como definido no arquivo de inclusao <db.h>. Este tipo e
normalmente o maior tipo integral sem sinal disponivel para a
inplementacao. O campo size da chave deve ser o tamanho daquele tipo.
Como pode nao haver metadados associados com os arquivos basicos do
metodo de acesso recno, qualquer mudanca feita nos valores padrao (por
exemplo, comprimento fixo dos registros ou valor do separador de bytes)
precisa ser especificada explicitamente cada vez que o arquivo e
aberto.
Na interface especificada por dbopen, usar a interface put para criar
um novo registro fara com que sejam criados varios registros vazios se
o numero do registro e maior, por mais de um, que o maior registro
correntemente no banco de dados.
ERROS
As rotinas do metodo de acesso recno podem falhar e setar errno para
qualquer um dos erros especificados para a rotina de biblioteca
dbopen(3) , ou os seguintes:
[EINVAL]
Uma tentativa foi feita para acrescentar um registro a um banco
de dados de comprimento fixo que era muito grande para caber.
VEJA TAMB'EM
btree(3) dbopen(3), hash(3), mpool(3),
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.
ERROS
Somente as ordens de byte 'big endian' (primeiro o mais significativo)
e 'little endian' (primeiro o byte menos significativo) sao suportadas.
TRADUZIDO POR LDP-BR EM 03/08/2000
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traducao) XXXXXX XX
XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisao)