recno(3) | Library Functions Manual | recno(3) |
recno - método de acceso a bases de datos con registros numerados
Biblioteca Estándar C (libc, -lc)
#include <sys/types.h> #include <db.h>
Note well: This page documents interfaces provided up until glibc 2.1. Since glibc 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:
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.
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:
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).
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.
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 Diciembre 2022 | 4.4 Berkeley Distribution |