Provided by: manpages-pt-dev_20040726-4_all bug

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)