Provided by:
manpages-pt-dev_20040726-2_all 
NOME
recno - método de acesso a banco de dados por número de registro
SINOPSE
#include <sys/types.h>
#include <db.h>
DESCRIÇÃO
A rotina dbopen é a interface de biblioteca para arquivos de banco de
dados. Um dos formatos de arquivos suportados são os arquivos de número
de registros. A descrição geral dos métodos de acesso a banco de dados
está em dbopen(3), esta página de manual descreve somente a informação
específica de recno.
A estrutura de dados de número de registro são registros variáveis ou
de comprimento fixo, armazenados em formato de arquivo liso, acessado
por número de registro lógico. A existência do número de registro
cinco implica na existência dos registros de um a quatro, e o
apagamento do registro um faz com que o registro número cinco seja
renumerado para quatro, assim como o cursor, que se estiver posicionado
depois do registro número um, é deslocado em um registro para baixo.
A estrutura de dados específico do método de acesso recno fornecida
para dbopen é definida no arquivo de inclusão <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 são definidos como segue:
flags O valor da flag é especificado por ouestáespecificando qualquer
um dos seguintes valores:
R_FIXEDLEN
Os registros são de comprimento fixo, não delimitados por
byte. O elemento de estrutura reclen especifica o
comprimento do registro, e o elemento de estrutura bval é
usado como o caractere de preenchimento. Quaisquer
registros, inseridos no banco de dados, que têm menos do
que reclen bytes de comprimento são completados
automaticamente.
R_NOKEY
Na interface especificada por dbopen, a recuperação de
registros sequenciais preenchem tanto a chave do
solicitante quanto as estruturas de dados. Se a flag
R_NOKEY é especificada, as rotinas do cursor não são
requeridas para preencher a estrutura da chave. Isto
permite que as aplicações recuperem registros no fim dos
arquivos sem ler todos os registros intermediários.
R_SNAPSHOT
Esta flag requer que uma imagem instantânea do arquivo
seja tomada quando dbopen é chamado, em vez de permitir
que qualquer registro não modificado seja lido do arquivo
original.
cachesize
Um tamanho máximo sugerido, em bytes, do cache de memória. Este
valor é apenas uma recomendação, e o método de acesso alocará
mais memória em vez de falhar. Se cachesize é 0 (nenhum tamanho
é especificado), é usado um cache padrão.
psize O método de acesso recno armazena as cópias em memória dos seus
registros em uma btree. Este valor é o tamanho (em bytes) das
páginas usadas para os nós daquela árvore. Se psize é 0 (o
tamanho da página não é especificado), é escolhido um tamanho de
página baseado no tamanho básico do bloco de E/S do sistema de
arquivos. Veja btree(3) para mais informações.
lorder A ordem de bytes para inteiros nos metadados armazenados do
banco de dados. O número deve representar a ordem como um
inteiro; por exemplo, a ordem "big endian" deveria ser o número
4,321. Se lorder é 0 (a ordem não é especificada), a ordem
corrente do host é 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 variável, e o caractere de
preenchimento para registros de comprimento fixo. Se nenhum
valor é especificado, novas linhas (‘‘\n’’) são usadas para
marcar o fim de registros de comprimento variável, e registros
de comprimento fixo são completados com espaços.
bfname O método de acesso recno armazena as cópias em memória dos seus
registros em uma btree. Se bfname não é 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 método de acesso
recno é o mesmo que em outros métodos de acesso. A chave é diferente.
O campo data da chave deve ser um ponteiro para um local da memória do
tipo recno_t, como definido no arquivo de inclusão <db.h>. Este tipo é
normalmente o maior tipo integral sem sinal disponível para a
inplementação. O campo size da chave deve ser o tamanho daquele tipo.
Como pode não haver metadados associados com os arquivos básicos do
método de acesso recno, qualquer mudança feita nos valores padrão (por
exemplo, comprimento fixo dos registros ou valor do separador de bytes)
precisa ser especificada explicitamente cada vez que o arquivo é
aberto.
Na interface especificada por dbopen, usar a interface put para criar
um novo registro fará com que sejam criados vários registros vazios se
o número do registro é maior, por mais de um, que o maior registro
correntemente no banco de dados.
ERROS
As rotinas do método 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ÉM
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) são suportadas.
TRADUZIDO POR LDP-BR EM 03/08/2000
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (tradução) XXXXXX XX
XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisão)