521 lines
14 KiB
Groff
521 lines
14 KiB
Groff
.\" Copyright (c) 1990, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)dbopen.3 8.5 (Berkeley) 1/2/94
|
|
.\" %FreeBSD: src/lib/libc/db/man/dbopen.3,v 1.3.2.2 2001/12/14 18:33:49 ru Exp %
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd January 2, 1994
|
|
.Dt DBOPEN 3
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm dbopen
|
|
.Nd ¥Ç¡¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹Êý¼°
|
|
.Sh ½ñ¼°
|
|
.In sys/types.h
|
|
.In limits.h
|
|
.In db.h
|
|
.Ft DB *
|
|
.Fn dbopen "const char *file" "int flags" "int mode" "DBTYPE type" "const void *openinfo"
|
|
.Sh ²òÀâ
|
|
.Fn dbopen
|
|
¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Ø¤Î¥é¥¤¥Ö¥é¥ê¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
|
|
¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢
|
|
btree
|
|
·Á¼°¡¢¥Ï¥Ã¥·¥å·Á¼°¡¢UNIX ¥Õ¥¡¥¤¥ë»Ø¸þ·Á¼°¤Ç¤¹¡£
|
|
btree
|
|
¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢¥½¡¼¥ÈºÑ¤ß¤Î¥Ð¥é¥ó¥¹¤Î¤È¤ì¤¿
|
|
¥Ä¥ê¡¼¹½Â¤¤Îɽ¸½¤Ç¤¹¡£¥Ï¥Ã¥·¥å¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢³ÈÄ¥²Äǽ¤ÇưŪ¤Ê
|
|
¥Ï¥Ã¥·¥å¥¹¥¡¼¥Þ¤Ç¤¹¡£¥Õ¥é¥Ã¥È¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢¸ÇÄêĹ¤Þ¤¿¤Ï²ÄÊÑĹ
|
|
¥ì¥³¡¼¥É¤«¤é¤Ê¤ë¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¥Õ¥¡¥¤¥ë¤Ç¤¹¡£¥Õ¥©¡¼¥Þ¥Ã¥È¤ª¤è¤Ó
|
|
¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¸ÇͤξðÊó¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤ì¤¾¤ì¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë
|
|
¾Ü¤·¤¯½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Xr btree 3 ,
|
|
.Xr hash 3 ,
|
|
.Xr recno 3
|
|
¤Ç¤¹¡£
|
|
.Pp
|
|
.Fn dbopen
|
|
¤Ï¡¢ÆÉ¤ß¹þ¤ß¤Þ¤¿¤Ï½ñ¤¹þ¤ßÍѤË
|
|
.Fa file
|
|
¤ò¥ª¡¼¥×¥ó¤·¤Þ¤¹¡£¥Ç¥£¥¹¥¯¾å¤ËÊÝ»ý¤¹¤ëɬÍפΤʤ¤¥Õ¥¡¥¤¥ë¤Ï¡¢
|
|
¥Õ¥¡¥¤¥ë¥Ñ¥é¥á¡¼¥¿¤ò
|
|
.Dv NULL
|
|
¤ËÀßÄꤹ¤ë¤³¤È¤ÇºîÀ®¤Ç¤¤Þ¤¹¡£
|
|
.Pp
|
|
°ú¿ô
|
|
.Fa flags
|
|
¤È°ú¿ô
|
|
.Fa mode
|
|
¤Ï¡¢
|
|
.Xr open 2
|
|
¤Ç»ØÄꤵ¤ì¤â¤Î¤ÈƱ¤¸¤Ç¤¹¡£¤·¤«¤·¡¢
|
|
.Dv O_CREAT , O_EXCL , O_EXLOCK , O_NONBLOCK ,
|
|
.Dv O_RDONLY , O_RDWR , O_SHLOCK ,
|
|
.Dv O_TRUNC
|
|
¤Î³Æ¥Õ¥é¥°¤À¤±¤Ë°ÕÌ£¤¬¤¢¤ê¤Þ¤¹ (¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï
|
|
.Dv O_WRONLY
|
|
¤Ç¤Ï
|
|
¥ª¡¼¥×¥ó¤Ç¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤)¡£
|
|
.\"Three additional options may be specified by
|
|
.\".Em or Ns 'ing
|
|
.\"them into the
|
|
.\".Fa flags
|
|
.\"argument.
|
|
.\".Bl -tag -width indent
|
|
.\".It Dv DB_LOCK
|
|
.\"Do the necessary locking in the database to support concurrent access.
|
|
.\"If concurrent access isn't needed or the database is read-only this
|
|
.\"flag should not be set, as it tends to have an associated performance
|
|
.\"penalty.
|
|
.\".It Dv DB_SHMEM
|
|
.\"Place the underlying memory pool used by the database in shared
|
|
.\"memory.
|
|
.\"Necessary for concurrent access.
|
|
.\".It Dv DB_TXN
|
|
.\"Support transactions in the database.
|
|
.\"The
|
|
.\".Dv DB_LOCK
|
|
.\"and
|
|
.\".Dv DB_SHMEM
|
|
.\"flags must be set as well.
|
|
.\".El
|
|
.Pp
|
|
°ú¿ô
|
|
.Fa type
|
|
¤Ï¡¢¥¿¥¤¥×
|
|
.Ft DBTYPE
|
|
(¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
|
|
.Aq Pa db.h
|
|
¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹)
|
|
¤Ç¤¢¤ê¡¢
|
|
.Dv DB_BTREE ,
|
|
.Dv DB_HASH ,
|
|
.Dv DB_RECNO
|
|
¤òÀßÄê¤Ç¤¤Þ¤¹¡£
|
|
.Pp
|
|
°ú¿ô
|
|
.Fa openinfo
|
|
¤Ï¡¢¥¢¥¯¥»¥¹Êý¼°¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ËÀâÌÀ¤·¤Æ¤¢¤ë¤è¤¦¤Ë¡¢
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ë¸Çͤι½Â¤¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
|
|
.Fa openinfo
|
|
¤¬
|
|
.Dv NULL
|
|
¤Î¾ì¹ç¡¢³Æ¥¢¥¯¥»¥¹Êý¼°¤Ï¡¢¥·¥¹¥Æ¥à¤È¥¢¥¯¥»¥¹Êý¼°¤Ë
|
|
ŬÀڤʥǥե©¥ë¥È¤ò»ÈÍѤ·¤Þ¤¹¡£
|
|
.Pp
|
|
.Fn dbopen
|
|
¤Ï¡¢½èÍý¤¬À®¸ù¤¹¤ë¤È
|
|
.Ft DB
|
|
¹½Â¤ÂΤò»Ø¤¹¥Ý¥¤¥ó¥¿¤òÊÖ¤·¡¢
|
|
¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï¥Ì¥ë¤òÊÖ¤·¤Þ¤¹¡£
|
|
.Ft DB
|
|
¹½Â¤ÂΤϡ¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
|
|
.Aq Pa db.h
|
|
Æâ¤ËÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢
|
|
¾¯¤Ê¤¯¤È¤â¼¡¤Î¥Õ¥£¡¼¥ë¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Bd -literal
|
|
typedef struct {
|
|
DBTYPE type;
|
|
int (*close)(const DB *db);
|
|
int (*del)(const DB *db, const DBT *key, u_int flags);
|
|
int (*fd)(const DB *db);
|
|
int (*get)(const DB *db, DBT *key, DBT *data, u_int flags);
|
|
int (*put)(const DB *db, DBT *key, const DBT *data,
|
|
u_int flags);
|
|
int (*sync)(const DB *db, u_int flags);
|
|
int (*seq)(const DB *db, DBT *key, DBT *data, u_int flags);
|
|
} DB;
|
|
.Ed
|
|
.Pp
|
|
¤³¤ì¤é¤ÎÍ×ÁǤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥¿¥¤¥×¤È³Æ¼ï¤Î¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë
|
|
´Ø¿ô¤Î¥»¥Ã¥È¤òµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢
|
|
.Fn dbopen
|
|
¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤¿¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò°ú¿ô¤Ë¼è¤ê¡¢
|
|
»þ¡¹¥¡¼ / ¥Ç¡¼¥¿¹½Â¤¤È¥Õ¥é¥°Ãͤò»Ø¤¹ 1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô¤Î¥Ý¥¤¥ó¥¿¤ò
|
|
¼è¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
|
|
.Bl -tag -width indent
|
|
.It Va type
|
|
´ðËÜ¥¢¥¯¥»¥¹Êý¼° (¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È) ¤Î¥¿¥¤¥×¡£
|
|
.It Va close
|
|
¥¥ã¥Ã¥·¥å¤µ¤ì¤¿¾ðÊó¤ò¥Ç¥£¥¹¥¯¤Ë¥Õ¥é¥Ã¥·¥å¤·¡¢³ä¤ê¿¶¤é¤ì¤¿¥ê¥½¡¼¥¹¤ò
|
|
²òÊü¤·¡¢´ð¤Ë¤Ê¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë (1 ¤Ä¤Þ¤¿¤ÏÊ£¿ô) ¤òÊĤ¸¤ë¥ë¡¼¥Á¥ó¤ò»Ø¤¹
|
|
¥Ý¥¤¥ó¥¿¡£¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤϥá¥â¥ê¤Ë¥¥ã¥Ã¥·¥å¤µ¤ì¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò
|
|
.Va close
|
|
´Ø¿ô¤Þ¤¿¤Ï
|
|
.Va sync
|
|
´Ø¿ô¤Ç¥Õ¥¡¥¤¥ë¤òƱ´ü¤¹¤ë¤Î¤Ë¼ºÇÔ¤¹¤ë¤È¡¢¾ðÊó¤ËÌ·½â¤ä·çÍ
|
|
À¸¤¸¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
|
|
.Va close
|
|
¥ë¡¼¥Á¥ó¤Ï¡¢¥¨¥é¡¼½ªÎ»»þ¤Ë¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.It Va del
|
|
¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éºï½ü¤¹¤ë¥ë¡¼¥Á¥ó¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£
|
|
.Pp
|
|
¥Ñ¥é¥á¡¼¥¿
|
|
.Fa flags
|
|
¤Ï¼¡¤ÎÃͤËÀßÄê¤Ç¤¤Þ¤¹¡£
|
|
.Bl -tag -width indent
|
|
.It Dv R_CURSOR
|
|
¥«¡¼¥½¥ë¤¬»²¾È¤¹¤ë¥ì¥³¡¼¥É¤òºï½ü¤·¤Þ¤¹¡£¥«¡¼¥½¥ë¤Ï¡¢
|
|
¤¢¤é¤«¤¸¤á½é´ü²½¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
|
|
.El
|
|
.Pp
|
|
.Va delete
|
|
¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼½ªÎ»»þ¤Ë¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£»ØÄꤷ¤¿
|
|
.Fa key
|
|
¤¬¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.It Va fd
|
|
´ðËܥǡ¼¥¿¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ëµ½Òɽ¸½¤òÊÖ¤¹¥ë¡¼¥Á¥ó¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£
|
|
Ʊ¤¸¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ëµ½Ò»Ò¤Ï¡¢Æ±¤¸
|
|
.Fa file
|
|
̾¤Ç
|
|
.Fn dbopen
|
|
¤ò¸Æ¤Ó½Ð¤¹Á´¥×¥í¥»¥¹¤ËÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ëµ½Ò»Ò¤Ï¡¢¥í¥Ã¥¯´Ø¿ô
|
|
.Xr fcntl 2
|
|
¤È
|
|
.Xr flock 2
|
|
¤Ø¤Î°ú¿ô¤È¤·¤Æ°ÂÁ´¤Ë»ÈÍѤǤ¤Þ¤¹¡£
|
|
¥Õ¥¡¥¤¥ëµ½Ò»Ò¤Ï¡¢É¬¤º¤·¤â¥¢¥¯¥»¥¹Êý¼°¤¬»ÈÍѤ·¤Æ¤¤¤ë´ðËÜ¥Õ¥¡¥¤¥ë¤Ë
|
|
´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¥Õ¥¡¥¤¥ëµ½Ò»Ò¤Ï
|
|
¥á¥â¥ê¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÇÍøÍѤǤ¤Þ¤»¤ó¡£
|
|
.Va \&fd
|
|
¥ë¡¼¥Á¥ó¤Ï¡¢¥¨¥é¡¼½ªÎ»»þ¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï¥Õ¥¡¥¤¥ëµ½Ò»Ò¤òÊÖ¤·¤Þ¤¹¡£
|
|
.It Va get
|
|
¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥¡¼¤ò»ÈÍѤ·¤Æ¼è¤ê½Ð¤¹¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë
|
|
¥ë¡¼¥Á¥ó¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£»ØÄê¤Î
|
|
.Fa key
|
|
¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Ç¡¼¥¿¤Î¥¢¥É¥ì¥¹¤ÈŤµ¤¬¡¢
|
|
.Fa data
|
|
¤Ç»²¾È¤µ¤ì¤ë¹½Â¤ÂÎÆâ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
|
|
.Va get
|
|
¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼½ªÎ»»þ¤Ë¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.Fa key
|
|
¤¬¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.It Va put
|
|
¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤò¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ËÊݸ¤¹¤ë¥ë¡¼¥Á¥ó¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£
|
|
.Pp
|
|
¥Ñ¥é¥á¡¼¥¿
|
|
.Fa flags
|
|
¤Ë¤Ï¼¡¤ÎÃͤΠ1 ¤Ä¤òÀßÄê¤Ç¤¤Þ¤¹¡£
|
|
.Bl -tag -width indent
|
|
.It Dv R_CURSOR
|
|
¥«¡¼¥½¥ë¤¬»²¾È¤¹¤ë¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤòÃÖ¤´¹¤¨¤Þ¤¹¡£¥«¡¼¥½¥ë¤Ï¡¢
|
|
¤¢¤é¤«¤¸¤á½é´ü²½¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
|
|
.It Dv R_IAFTER
|
|
.Fa key
|
|
¤Ç»²¾È¤µ¤ì¤ë¥Ç¡¼¥¿¤Îľ¸å¤Ë¥Ç¡¼¥¿¤òÄɲä·¡¢
|
|
¿·¤·¤¤¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤòºîÀ®¤·¤Þ¤¹¡£Äɲä·¤¿¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤΥ쥳¡¼¥ÉÈֹ椬
|
|
.Fa key
|
|
¹½Â¤ÂÎÆâ¤ËÊÖ¤µ¤ì¤Þ¤¹ (
|
|
.Dv DB_RECNO
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ë¤À¤±Å¬ÍѤǤ¤Þ¤¹)¡£
|
|
.It Dv R_IBEFORE
|
|
.Fa key
|
|
¤Ç»²¾È¤µ¤ì¤ë¥Ç¡¼¥¿¤ÎľÁ°¤Ë¥Ç¡¼¥¿¤òÁÞÆþ¤·¡¢
|
|
¿·¤·¤¤¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤòºîÀ®¤·¤Þ¤¹¡£Äɲä·¤¿¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤΥ쥳¡¼¥ÉÈֹ椬
|
|
.Fa key
|
|
¹½Â¤ÂÎÆâ¤ËÊÖ¤µ¤ì¤Þ¤¹ (
|
|
.Dv DB_RECNO
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ë¤À¤±Å¬ÍѤǤ¤Þ¤¹)¡£
|
|
.It Dv R_NOOVERWRITE
|
|
¥¡¼¤¬¤½¤ì°ÊÁ°¤Ë¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤À¤±¡¢¿·¤·¤¤¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤòÆþÎϤ·¤Þ¤¹¡£
|
|
.It Dv R_SETCURSOR
|
|
¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤòÊݸ¤·¡¢¤½¤ì¤ò»²¾È¤¹¤ë¥«¡¼¥½¥ë¤Î°ÌÃÖ¤ò¥»¥Ã¥È¡¢¤Þ¤¿¤Ï
|
|
½é´ü²½¤·¤Þ¤¹ (
|
|
.Dv DB_BTREE
|
|
¤ª¤è¤Ó
|
|
.Dv DB_RECNO
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ë¤À¤±Å¬ÍѤǤ¤Þ¤¹)¡£
|
|
.El
|
|
.Pp
|
|
.Dv R_SETCURSOR
|
|
¤¬ÍøÍѤǤ¤ë¤Î¤Ï¡¢
|
|
.Dv DB_BTREE
|
|
¤È
|
|
.Dv DB_RECNO
|
|
¤Î¥¢¥¯¥»¥¹Êý¼°¤Ç¤À¤±¤Ç¤¹¡£
|
|
¥¡¼¤Ë¤Ï¡¢ÊѲ½¤·¤Ê¤¤¸ÇÍ¤Î½ç½ø¤¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
|
|
.Pp
|
|
.Dv R_IAFTER
|
|
¤È
|
|
.Dv R_IBEFORE
|
|
¤Ï
|
|
.Dv DB_RECNO
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ë¤À¤±ÍøÍѤǤ¤Þ¤¹¡£
|
|
¤É¤ì¤â¡¢¥¢¥¯¥»¥¹Êý¼°¤¬¿·¤·¤¤¥¡¼¤òºîÀ®¤Ç¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
|
|
¤³¤ì¤Ï¡¢¥¡¼¤¬½ç½øÉÕ¤±¤é¤ì¤Æ¤ª¤êÆÈΩ¤Ê¾ì¹ç¤Ë¤À¤±¿¿¤È¤Ê¤ê¤Þ¤¹¡£
|
|
¤¿¤È¤¨¤Ð¡¢¥ì¥³¡¼¥ÉÈÖ¹æ¤Ç¤¹¡£
|
|
.Pp
|
|
.Va put
|
|
¥ë¡¼¥Á¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤Îưºî¤Ï¡¢¿·¤·¤¤¥¡¼/¥Ç¡¼¥¿¤ÎÁȤòÆþÎϤ·¡¢
|
|
¤½¤ì°ÊÁ°¤Ë¸ºß¤·¤Æ¤¤¤¿¥¡¼¤òÃÖ¤´¹¤¨¤ë¤³¤È¤Ç¤¹¡£
|
|
.Pp
|
|
.Va put
|
|
¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼½ªÎ»»þ¤Ë¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï 0 ¤òÊÖ¤·¡¢
|
|
.Dv R_NOOVERWRITE
|
|
¥Õ¥é¥°¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Æ¡¢¤·¤«¤â¥¡¼¤¬¥Õ¥¡¥¤¥ëÆâ¤Ë
|
|
´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï 1 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.It Va seq
|
|
¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î¥·¡¼¥±¥ó¥·¥ã¥ë¤Ê¼è¤ê½Ð¤·ÍÑ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë
|
|
¥ë¡¼¥Á¥ó¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£¥¡¼¤Î¥¢¥É¥ì¥¹¤ÈŤµ¤Ï
|
|
.Fa key
|
|
¤¬»²¾È¤¹¤ë¹½Â¤ÂÎÆâ¤ËÊÖ¤µ¤ì¡¢¥Ç¡¼¥¿¤Î¥¢¥É¥ì¥¹¤ÈŤµ¤Ï
|
|
.Fa data
|
|
¤¬»²¾È¤¹¤ë¹½Â¤ÂÎÆâ¤ËÊÖ¤µ¤ì¤Þ¤¹¡£
|
|
.Pp
|
|
¥·¡¼¥±¥ó¥·¥ã¥ë¤Ê¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤμè¤ê½Ð¤·¤Ï¡¢¤¤¤Ä¤Ç¤â³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤¡¢
|
|
.Dq ¥«¡¼¥½¥ë
|
|
¤Î°ÌÃÖ¤Ï
|
|
.Va del ,
|
|
.Va get ,
|
|
.Va put ,
|
|
.Va sync
|
|
¤Î³Æ¥ë¡¼¥Á¥ó¤Ë¤è¤ë¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ±Æ¶Á¤ò¼õ¤±¤Þ¤»¤ó¡£
|
|
¥·¡¼¥±¥ó¥·¥ã¥ë¤ÊÁöºº¤Î´Ö¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î½¤Àµ¤ÏÁöºº¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£
|
|
¤¹¤Ê¤ï¤Á¡¢¥«¡¼¥½¥ë¤ÎÁ°¤ËÁÞÆþ¤µ¤ì¤¿¥ì¥³¡¼¥É¤¬ÊÖ¤µ¤ì¤ë¤Þ¤Ç¤Î´Ö¡¢
|
|
¥«¡¼¥½¥ë¤Î¸å¤í¤ËÁÞÆþ¤µ¤ì¤¿¥ì¥³¡¼¥É¤ÏÊÖ¤µ¤ì¤Þ¤»¤ó¡£
|
|
.Pp
|
|
.Fa flags
|
|
Ãͤϼ¡¤ÎÃͤΠ1 ¤Ä¤Ë¥»¥Ã¥È¤·¤Ê¤±¤ì¤Ð
|
|
.Em ¤Ê¤ê¤Þ¤»¤ó
|
|
¡£
|
|
.Bl -tag -width indent
|
|
.It Dv R_CURSOR
|
|
»ØÄê¤Î¥¡¼¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥Ç¡¼¥¿¤¬ÊÖ¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¥«¡¼¥½¥ë¤ò¥¡¼¤Î°ÌÃÖ¤Ë
|
|
¥»¥Ã¥È¤Þ¤¿¤Ï½é´ü²½¤¹¤ë¤È¤¤¤¦ÅÀ¤Ç
|
|
.Va get
|
|
¥ë¡¼¥Á¥ó¤È°Û¤Ê¤ê¤Þ¤¹ (
|
|
.Dv DB_BTREE
|
|
¥¢¥¯¥»¥¹Êý¼°¤Î¾ì¹ç¡¢ÊÖ¤µ¤ì¤¿¥¡¼¤Ïɬ¤º¤·¤â»ØÄê¤Î¥¡¼¤ÈÀµ³Î¤Ë°ìÃפ¹¤ë
|
|
ɬÍפ¬¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ÊÖ¤µ¤ì¤ë¥¡¼¤Ï¡¢»ØÄê¤Î¥¡¼¤è¤ê
|
|
Â礤¤¤«¤Þ¤¿¤ÏÅù¤·¤¤¤è¤¦¤Ê¡¢ºÇ¾®¤Î¥¡¼¤Ç¤¢¤ê¡¢
|
|
ÉôʬŪ¤Ê¥¡¼°ìÃפÈÈϰϸ¡º÷¤¬¤Ç¤¤Þ¤¹)¡£
|
|
.It Dv R_FIRST
|
|
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇ½é¤Î¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤ¬ÊÖ¤µ¤ì¡¢¥«¡¼¥½¥ë¤Ï¤½¤ì¤ò
|
|
»²¾È¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤Þ¤¿¤Ï½é´ü²½¤µ¤ì¤Þ¤¹¡£
|
|
.It Dv R_LAST
|
|
¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇ¸å¤Î¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤ¬ÊÖ¤µ¤ì¡¢¥«¡¼¥½¥ë¤Ï¤½¤ì¤ò
|
|
»²¾È¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤Þ¤¿¤Ï½é´ü²½¤µ¤ì¤Þ¤¹ (
|
|
.Dv DB_BTREE
|
|
¤È
|
|
.Dv DB_RECNO
|
|
¤Î³Æ¥¢¥¯¥»¥¹Êý¼°¤Ë¤À¤±Å¬ÍѤǤ¤Þ¤¹)¡£
|
|
.It Dv R_NEXT
|
|
¥«¡¼¥½¥ë¤Îľ¸å¤Ë¤¢¤ë¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤò¼è¤ê½Ð¤·¤Þ¤¹¡£¥«¡¼¥½¥ë¤¬¤Þ¤À
|
|
¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¤³¤ì¤Ï
|
|
.Dv R_FIRST
|
|
¥Õ¥é¥°¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
|
|
.It Dv R_PREV
|
|
¥«¡¼¥½¥ë¤ÎľÁ°¤Ë¤¢¤ë¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤò¼è¤ê½Ð¤·¤Þ¤¹¡£¥«¡¼¥½¥ë¤¬¤Þ¤À
|
|
ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¤³¤ì¤Ï
|
|
.Dv R_LAST
|
|
¥Õ¥é¥°¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£(
|
|
.Dv DB_BTREE
|
|
¤È
|
|
.Dv DB_RECNO
|
|
¤Î³Æ¥¢¥¯¥»¥¹Êý¼°¤Ë¤À¤±Å¬ÍѤǤ¤Þ¤¹)¡£
|
|
.El
|
|
.Pp
|
|
.Dv R_LAST
|
|
¤È
|
|
.Dv R_PREV
|
|
¤¬ÍøÍѤǤ¤ë¤Î¤Ï¡¢
|
|
.Dv DB_BTREE
|
|
¤È
|
|
.Dv DB_RECNO
|
|
¤Î³Æ
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ë¤Ä¤¤¤Æ¤À¤±¤Ç¤¹¡£¤³¤ì¤é¤Ï¤½¤ì¤¾¤ì¥¡¼¤ËÊѲ½¤·¤Ê¤¤¸ÇͤÎ
|
|
½ç½ø¤¬¤¢¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
|
|
.Pp
|
|
.Va seq
|
|
¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼½ªÎ»»þ¤Ë¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï 0 ¤òÊÖ¤·¡¢»ØÄê¤Î¥¡¼¤Þ¤¿¤Ï¸½ºß¤Î¥¡¼¤è¤ê¾®¤µ¤¤¤«¤Þ¤¿¤Ï
|
|
Â礤¤¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤ¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï 1 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.Dv DB_RECNO
|
|
¥¢¥¯¥»¥¹Êý¼°¤¬»ÈÍѤµ¤ì¤Æ¤¤¤Æ¡¢
|
|
¤·¤«¤â¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤¬¥¥ã¥é¥¯¥¿ÆÃ¼ì¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢
|
|
´°Á´¤Ê¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤ¬¤½¤Î»þÅÀ¤Ç¸ºß¤·¤Ê¤¤¾ì¹ç¡¢
|
|
.Va seq
|
|
¥ë¡¼¥Á¥ó¤Ï 2 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.It Va sync
|
|
¥¥ã¥Ã¥·¥å¤µ¤ì¤¿¾ðÊó¤ò¥Ç¥£¥¹¥¯¤Ë¥Õ¥é¥Ã¥·¥å¤¹¤ë¥ë¡¼¥Á¥ó¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£
|
|
¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¥á¥â¥êÆâ¤Ë¤À¤±Â¸ºß¤¹¤ë¾ì¹ç¡¢
|
|
.Va sync
|
|
¥ë¡¼¥Á¥ó¤Ë¤Ï²¿¤Î¸ú²Ì¤â¤Ê¤¯¡¢½èÍý¤Ï¾ï¤ËÀµ¾ï½ªÎ»¤·¤Þ¤¹¡£
|
|
.Pp
|
|
.Fa flags
|
|
Ãͤϼ¡¤ÎÃͤ˥»¥Ã¥È¤Ç¤¤Þ¤¹¡£
|
|
.Bl -tag -width indent
|
|
.It Dv R_RECNOSYNC
|
|
.Dv DB_RECNO
|
|
¥¢¥¯¥»¥¹Êý¼°¤¬»ÈÍѤµ¤ì¤ë¾ì¹ç¡¢¤³¤Î¥Õ¥é¥°¤Ï
|
|
.Va sync
|
|
¥ë¡¼¥Á¥ó¤¬¡¢
|
|
.Va recno
|
|
¥Õ¥¡¥¤¥ë¼«¿È¤Ç¤Ï¤Ê¤¯¡¢
|
|
recno
|
|
¥Õ¥¡¥¤¥ë¤Î´ð¤È¤Ê¤ë
|
|
btree
|
|
¥Õ¥¡¥¤¥ë¤ËŬÍѤµ¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤¹ (¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
|
|
.Xr recno 3
|
|
¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Î
|
|
.Va bfname
|
|
¥Õ¥£¡¼¥ë¥É¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤)¡£
|
|
.El
|
|
.Pp
|
|
.Va sync
|
|
¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼½ªÎ»»þ¤Ë¤Ï -1 ¤òÊÖ¤· (
|
|
.Va errno
|
|
¤òÀßÄê)¡¢
|
|
Àµ¾ï½ªÎ»»þ¤Ë¤Ï 0 ¤òÊÖ¤·¤Þ¤¹¡£
|
|
.El
|
|
.Sh ¥¡¼ / ¥Ç¡¼¥¿¤ÎÁÈ
|
|
¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ø¤Î¥¢¥¯¥»¥¹¤Ï¥¡¼ / ¥Ç¡¼¥¿¤ÎÁȤò´ð¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
|
|
¥¡¼¤È¥Ç¡¼¥¿¤ÎξÊý¤¬¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤Çɽ¤µ¤ì¤Þ¤¹¡£
|
|
.Bd -literal
|
|
typedef struct {
|
|
void *data;
|
|
size_t size;
|
|
} DBT;
|
|
.Ed
|
|
.Pp
|
|
.Ft DBT
|
|
¹½Â¤ÂΤÎÍ×ÁǤϼ¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Þ¤¹¡£
|
|
.Bl -tag -width "data"
|
|
.It Va data
|
|
¥Ð¥¤¥È¥¹¥È¥ê¥ó¥°¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¡£
|
|
.It Va size
|
|
¥Ð¥¤¥È¥¹¥È¥ê¥ó¥°¤ÎŤµ¡£
|
|
.El
|
|
.Pp
|
|
¥¡¼¤È¥Ç¡¼¥¿¥Ð¥¤¥È¥¹¥È¥ê¥ó¥°¤Ï¡¢Æ±»þ¤ËÍøÍѤǤ¤ë¥á¥â¥ê¤Ë¥Õ¥£¥Ã¥È¤¹¤ëɬÍ×
|
|
¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢»²¾È¤Ç¤¤ëʸ»úÎó¤ÎŤµ¤Ë¤ÏËܼÁŪ¤Ë¤ÏÀ©¸Â¤¬¤¢¤ê¤Þ¤»¤ó¡£
|
|
¥¢¥¯¥»¥¹Êý¼°¤Ï¡¢¥Ð¥¤¥È¥¹¥È¥ê¥ó¥°¤Î¥Ð¥¤¥È¥¢¥é¥¤¥ó¤Ë¤Ä¤¤¤Æ¤Ï
|
|
²¿¤ÎÊݾڤ⤷¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤¹¤Ù¤¤Ç¤¹¡£
|
|
.Sh ¥¨¥é¡¼
|
|
.Fn dbopen
|
|
¥ë¡¼¥Á¥ó¤¬¥¨¥é¡¼½ªÎ»¤¹¤ë¤È¡¢¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
|
|
.Xr open 2
|
|
¤ä
|
|
.Xr malloc 3
|
|
¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¥¨¥é¡¼¡¢¤Þ¤¿¤Ï²¼µ¤Î¥¨¥é¡¼¤ËÂФ¹¤ë
|
|
.Va errno
|
|
¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
|
|
.Bl -tag -width Er
|
|
.It Bq Er EFTYPE
|
|
¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹¡£
|
|
.It Bq Er EINVAL
|
|
´û¸¤Î¥Õ¥¡¥¤¥ë»ØÄê¤È¸ß´¹À¤Î¤Ê¤¤¥Ñ¥é¥á¡¼¥¿ (¥Ï¥Ã¥·¥å´Ø¿ô¡¢
|
|
¥Ñ¥Ã¥É¥Ð¥¤¥È¤Ê¤É) ¤ä¡¢´Ø¿ô¤Ë°ÕÌ£¤Î¤Ê¤¤¥Ñ¥é¥á¡¼¥¿¤¬»ØÄꤵ¤ì¤¿ (¤¿¤È¤¨¤Ð¡¢
|
|
»öÁ°¤Î½é´ü²½¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Ê¤¤¥«¡¼¥½¥ë¤Î»ÈÍÑ)¡¢
|
|
¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤È¥½¥Õ¥È¥¦¥§¥¢¤Î¥Ð¡¼¥¸¥ç¥ó´Ö¤ËÉÔ°ìÃפ¬¤¢¤ê¤Þ¤¹¡£
|
|
.El
|
|
.Pp
|
|
.Va close
|
|
¥ë¡¼¥Á¥ó¤¬¥¨¥é¡¼½ªÎ»¤¹¤ë¤È¡¢¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
|
|
.Xr close 2 ,
|
|
.Xr read 2 ,
|
|
.Xr write 2 ,
|
|
.Xr free 3 ,
|
|
.Xr fsync 2
|
|
¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Î
|
|
.Va errno
|
|
¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
|
|
.Pp
|
|
.Va del ,
|
|
.Va get ,
|
|
.Va put ,
|
|
.Va seq
|
|
¤Î³Æ¥ë¡¼¥Á¥ó¤¬¥¨¥é¡¼½ªÎ»¤¹¤ë¤È¡¢¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
|
|
.Xr read 2 ,
|
|
.Xr write 2 ,
|
|
.Xr free 3 ,
|
|
.Xr malloc 3
|
|
¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Î
|
|
.Va errno
|
|
¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
|
|
.Pp
|
|
.Va fd
|
|
¥ë¡¼¥Á¥ó¤Ï¡¢¥á¥â¥êÆâ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¥¨¥é¡¼½ªÎ»¤¹¤ë¤È¡¢
|
|
.Er ENOENT
|
|
¤Ë
|
|
.Va errno
|
|
¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
|
|
.Pp
|
|
.Va sync
|
|
¥ë¡¼¥Á¥ó¤¬¥¨¥é¡¼½ªÎ»¤¹¤ë¤È¡¢¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
|
|
.Xr fsync 2
|
|
¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë¤Ä¤¤¤Æ¤Î
|
|
.Va errno
|
|
¤ò¥»¥Ã¥È¤·¤Þ¤¹¡£
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr btree 3 ,
|
|
.Xr hash 3 ,
|
|
.Xr mpool 3 ,
|
|
.Xr recno 3
|
|
.Rs
|
|
.%T "LIBTP: Portable, Modular Transactions for UNIX"
|
|
.%A Margo Seltzer
|
|
.%A Michael Olson
|
|
.%R "USENIX proceedings"
|
|
.%D Winter 1992
|
|
.Re
|
|
.Sh ¥Ð¥°
|
|
typedef
|
|
.Ft DBTs
|
|
¤Ï¡¢
|
|
.Dq "data base thang"
|
|
¤Îά¾Î¤Ç¡¢
|
|
¤Þ¤À»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¹çÍýŪ¤Ê̾Á°¤òï¤â»×¤¤¤Ä¤«¤Ê¤«¤Ã¤¿¤¿¤á¤Ë
|
|
»È¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
|
|
.Pp
|
|
¥Õ¥¡¥¤¥ëµ½Ò»Ò¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¹½À®¤¬Ä´Ï¤·¤Æ¤ª¤é¤º¡¢
|
|
¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Îº£¸å¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ïºï½ü¤µ¤ì¤ëͽÄê¤Ç¤¹¡£
|
|
.Pp
|
|
¤É¤Î¥¢¥¯¥»¥¹Êý¼°¤â¡¢Ê¹ԥ¢¥¯¥»¥¹¡¢¥í¥Ã¥¯¡¢¤Þ¤¿¤Ï¥È¥é¥ó¥¶¥¯¥·¥ç¥ó
|
|
¤Ï¡¢¤É¤Î¤è¤¦¤Ê·Á¼°¤Ç¤âÄ󶡤·¤Þ¤»¤ó¡£
|