Provided by: manpages-es-dev_4.13-4_all bug

NOMBRE

       recno - método de acceso a bases de datos con registros numerados

SINOPSIS

       #include <sys/types.h>
       #include <db.h>

DESCRIPCIÓN

       Note  well:  This  page  documents interfaces provided in glibc up until version 2.1.  Since version 2.2,
       glibc no longer provides these interfaces.  Probably, you are looking for the APIs provided by the  libdb
       library instead.

       La rutina dbopen(3) es la interfaz de biblioteca para los ficheros de bases de datos. Uno de los formatos
       de  fichero  soportados  es  el  de  los  ficheros  con  registros  numerados (que llamaremos regnum). La
       descripción general de los métodos de acceso a bases de datos se encuentra en  la  página  de  manual  de
       dbopen(3); esta página de manual sólo describe información específica de regnum.

       La  estructura  de  datos de registros numerados está formada por registros de longitud o fija o variable
       almacenados en un formato de fichero plano, accedido por el número lógico de registro.  La existencia del
       registro número cinco implica la existencia de los registros del 1 al 5, y la  eliminación  del  registro
       número  1  hace  que  el registro número 5 sea renumerado al registro número 4, de la misma manera que el
       cursor se desplazará un registro hacia abajo si se encuentra posicionado después del registro número 1.

       La estructura de datos específica del método de acceso regnum proporcionada a dbopen(3) se define  en  el
       fichero cabecera <db.h> como sigue:

           typedef struct {
               unsigned long flags;
               unsigned int  cachesize;
               unsigned int  psize;
               int           lorder;
               size_t        reclen;
               unsigned char bval;
               char         *bfname;
           } RECNOINFO;

       Los elementos de esta estructura se definen de la siguiente manera:

       flags  El  valor  de  las  opciones  se  especifica  mediante una operación O-lógica de cualquiera de los
              siguientes valores:

              R_FIXEDLEN
                     Los registros son de longitud fija, no delimitados por bytes.  El  elemento  reclen  de  la
                     estructura  especifica  la longitud del registro y el elemento bval de la estructura se usa
                     como carácter de relleno.  Todos los registros,  insertados  en  la  base  de  datos,  cuya
                     longitud  es  más  pequeña  que  reclen bytes, se completan automáticamente con el carácter
                     bval.

              R_NOKEY
                     En la interfaz especificada por dbopen(3), la recuperación secuencial de registros  rellena
                     tanto  la  clave  del  invocador como las estructuras de datos.  Si se especifica la opción
                     R_NOKEY, no se necesitarán las rutinas con cursor para rellenar la estructura de la  clave.
                     Esto permite a las aplicaciones recuperar registros al final de los ficheros sin leer todos
                     los registros que intervienen.

              R_SNAPSHOT
                     Esta  opción  exige que se tome una instantanea del fichero cuando se llame a dbopen(3), en
                     lugar de permitir que cualquier registro sin modificar sea leído del fichero original.

       cachesize
              Tamaño máximo sugerido, en bytes, de la memoria caché.  Este valor sólo es consultivo y el  método
              de  acceso reservará más memoria antes que fallar.  Si cachesize es 0 (no se especifica un tamaño)
              se usa una caché por defecto.

       psize  El método de acceso regnum almacena las copias residentes en memoria de sus registros en un árbolB
              (btree).  Este valor es el tamaño (en bytes) de las páginas usadas para nodos del árbol.  Si psize
              es 0 (no se especifica un tamaño de página) se selecciona un tamaño de página basado en el  tamaño
              de bloque de E/S del sistema de ficheros subyacente.  Véase btree(3)  para más información.

       lorder El orden de los bytes para los enteros de los metadatos almacenados en la base de datos. El número
              debería  representar  el  orden  como  un  entero; por ejemplo, el orden `el byte de mayor peso el
              último' (orden ascendente) sería el número 4321.  Si lorder es 0 (no se especifica  un  orden)  se
              utiliza el orden del anfitrión actual.

       reclen El tamaño de un registro de tamaño fijo.

       bval   El  byte  delimitador  a  usar  para  marcar  el final de un registro para los registros de tamaño
              variable, y el carácter de relleno para los registros de tamaño fijo.   Si  no  se  especifica  un
              valor,  se  utilizan  caracteres  `nueva  línea'  ("\n")  para marcar el final de los registros de
              longitud variable y los registros de longitud fija se completan con espacios.

       bfname El método de acceso regnum almacena las copias residentes  en  memoria  de  sus  registros  en  un
              árbolB.   Si bfname no es NULL, especifica el nombre de un fichero árbolB, como si se especificara
              el nombre de fichero para una llamadada a dbopen(3) de un fichero árbolB.

       La parte de datos del par clave/datos usado por el método de acceso recno es la misma que la de los otros
       métodos de acceso.  La clave es diferente.  El campo data de la  clave  debería  ser  un  puntero  a  una
       posición  de  memoria del tipo recno_t, tal y como se define en el fichero cabecera <db.h>.  Normalmente,
       este tipo es el tipo entero sin signo más grande disponible para la implementación.  El campo size de  la
       clave debería ser el tamaño de ese tipo.

       Ya  que puede no haber ningún metadato asociado con los ficheros subyacentes del método de acceso regnum,
       cualquier cambio realizado a los valores por defecto (por ejemplo, a la  longitud  de  los  registros  de
       tamaño fijo o al valor del separador de bytes) se debe especificar explícitamente cada vez que se abra el
       fichero.

       En  la  interfaz  especificada  por  dbopen(3),  el  uso  de la interfaz put para crear un nuevo registro
       provocará la creación de varios registros vacíos si el número de registro es mayor, en más de uno, que el
       número del mayor registro actualmente en la base de datos.

ERRORES

       Las rutinas del método de acceso regnum pueden fallar  y  asignar  a  errno  cualquiera  de  los  errores
       especificados para la rutina de biblioteca dbopen(3)  o el siguiente:

       EINVAL Se ha intentado añadir un registro a una base de datos de registros de tamaño fijo que s demasiado
              grande para caber.

ERRORES

       Sólo  se soportan los órdenes de bytes ascedente (el byte de mayor peso el último) y descendente (el byte
       de menor peso el último).

VÉASE TAMBIÉN

       btree(3), dbopen(3), hash(3), mpool(3)

       Document Processing in a Relational Database System, Michael Stonebraker, Heidi Stettner, Joseph  Kalash,
       Antonin Guttman, Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982.

COLOFÓN

       Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del
       proyecto,   información   sobre   cómo   informar   errores  y  la  última  versión  de  esta  página  en
       https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La traducción al español de esta página del manual fue creada por Juan Piernas <piernas@ditec.um.es>

       Esta traducción es documentación libre;  lea  la  GNU General Public License Version 3  o  posterior  con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       debian-l10n-spanish@lists.debian.org.

4.4 Berkeley Distribution                      15 Septiembre 2017                                       RECNO(3)