OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man3 / dbopen.3
index 59c9a5e..cf77b47 100644 (file)
 .\"    by Shouichi Saito <ss236rx@ymg.urban.ne.jp>
 .\" Proofed Tue Aug 19 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
 .\"
-.\"WORD:       descriptor      ¥Ç¥¹¥¯¥ê¥×¥¿
+.\"WORD:       descriptor      ã\83\87ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
 .TH DBOPEN 3 1994-01-02 "" "Linux Programmer's Manual"
 .UC 7
-.SH Ì¾Á°
-dbopen \- ¥Ç¡¼¥¿¥Ù¡¼¥¹¥¢¥¯¥»¥¹¥á¥½¥Ã¥É
-.SH ½ñ¼°
+.SH 名前
+dbopen \- データベースアクセスメソッド
+.SH 書式
 .nf
 .B #include <sys/types.h>
 .B #include <limits.h>
@@ -52,37 +52,37 @@ dbopen \- 
 ", DBTYPE " type ,
 .BI "           const void *" openinfo );
 .fi
-.SH ÀâÌÀ
+.SH 説明
 .BR dbopen ()
-¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥é¥¤¥Ö¥é¥ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£
-¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï btree, hash,
-UNIX ¥Õ¥¡¥¤¥ë¤Ë»Ø¸þ¤·¤¿¥Õ¥©¡¼¥Þ¥Ã¥È, ¤Î 3 ¤Ä¤Ç¤¢¤ë¡£
-btree ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢¥½¡¼¥È¤µ¤ì¤¿¥Ð¥é¥ó¥¹¥Ä¥ê¡¼¹½Â¤¤Ç¤¢¤ë¡£
-hashed ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢³ÈÄ¥²Äǽ¤ÊưŪ hash ¥¹¥­¡¼¥à¤Ç¤¢¤ë¡£
-¥Õ¥é¥Ã¥È¥Õ¥¡¥¤¥ë (flat-file) ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢
-¸ÇÄêĹ/²ÄÊÑĹ¤Î¥ì¥³¡¼¥É¤«¤é¤Ê¤ë¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¡£
-¤½¤ì¤¾¤ì¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤È¡¢¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÆÃÍ­¤Î¾ðÊó¤Ï
-¤½¤ì¤¾¤ìÂбþ¤¹¤ë¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸
+はデータベースファイルに対するライブラリインターフェースである。
+サポートされているファイルフォーマットは btree, hash,
+UNIX ファイルに指向したフォーマット, の 3 つである。
+btree フォーマットは、ソートされたバランスツリー構造である。
+hashed フォーマットは、拡張可能な動的 hash スキームである。
+フラットファイル (flat-file) フォーマットは、
+固定長/可変長のレコードからなるバイトストリームファイルである。
+それぞれのフォーマットと、ファイルフォーマットに特有の情報は
+ã\81\9dã\82\8cã\81\9eã\82\8c対å¿\9cã\81\99ã\82\8bã\83\9eã\83\8bã\83¥ã\82¢ã\83«ã\83\9aã\83¼ã\82¸
 .BR btree (3),
 .BR hash (3),
 .BR recno (3)
-¤Ë¾ÜºÙ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
+に詳細に記述されている。
 .PP
 .BR dbopen ()
-¤Ï
+は
 .I file
-¤òÆɤ߹þ¤ß (Æɤ߽ñ¤­) ¤¹¤ë¤¿¤á¤Ë¥ª¡¼¥×¥ó¤¹¤ë¡£
+を読み込み (読み書き) するためにオープンする。
 .I file
-°ú¤­¿ô¤ò NULL ¤Ë¤¹¤ì¤Ð¡¢
-¥Ç¥£¥¹¥¯¾å¤ËÊݸ¤·¤¿¤¯¤Ê¤¤¥Õ¥¡¥¤¥ë¤òºî¤ë¤³¤È¤â¤Ç¤­¤ë¡£
+引き数を NULL にすれば、
+ディスク上に保存したくないファイルを作ることもできる。
 .PP
 .I flags
-¤È
+と
 .I mode
-°ú¤­¿ô¤Ï
+引き数は
 .BR open (2)
-¥ë¡¼¥Á¥ó¤Ç»ØÄꤹ¤ë¤Î¤ÈƱÍͤǤ¢¤ë¡£¤¿¤À¤·
-°ÕÌ£¤ò»ý¤Ä¥Õ¥é¥°¤Ï
+ルーチンで指定するのと同様である。ただし
+意味を持つフラグは
 .BR O_CREAT ,
 .BR O_EXCL ,
 .BR O_EXLOCK ,
@@ -91,10 +91,10 @@ hashed 
 .BR O_RDWR ,
 .BR O_SHLOCK ,
 .B O_TRUNC
-¤À¤±¤Ç¤¢¤ë¡£
-(Ãí°Õ:
+だけである。
+(注意:
 .B O_WRONLY
-¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ò³«¤¯»ö¤Ï½ÐÍè¤Ê¤¤)
+でデータベースファイルを開く事は出来ない)
 .\"Three additional options may be specified by ORing
 .\"them into the
 .\".I flags
@@ -116,33 +116,33 @@ hashed 
 .\"The DB_LOCK and DB_SHMEM flags must be set as well.
 .PP
 .I type
-°ú¤­¿ô¤Ï
+引き数は
 .I DBTYPE
-·¿¤Ç¤¢¤ë (¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë
+型である (インクルードファイル
 .I <db.h>
-¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë)¡£
+で定義されている)。
 .BR DB_BTREE ,
 .BR DB_HASH ,
 .B DB_RECNO
-¤Î¤¤¤º¤ì¤«¤ò¥»¥Ã¥È¤Ç¤­¤ë¡£
+のいずれかをセットできる。
 .PP
 .I openinfo
-°ú¤­¿ô¤Ï¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ë¸ÇÍ­¤Ê¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë¡£
-¤½¤ì¤¾¤ì¤Î¹½Â¤ÂΤ˴ؤ·¤Æ¤Ï³Æ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Î
-¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
+引き数はアクセスメソッドに固有な構造体へのポインタである。
+それぞれの構造体に関しては各アクセスメソッドの
+マニュアルページに記述されている。
 .I openinfo
-¤¬ NULL ¤Î¾ì¹ç¡¢¤½¤ì¤¾¤ì¤Î¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤È¥·¥¹¥Æ¥à¤È¤ËŬ¹ç¤·¤¿
-¥Ç¥Õ¥©¥ë¥È¤¬ÍѤ¤¤é¤ì¤ë¡£
+が NULL の場合、それぞれのアクセスメソッドとシステムとに適合した
+デフォルトが用いられる。
 .PP
 .BR dbopen ()
-¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç
+は、成功した場合
 .I DB
-¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò¡¢¥¨¥é¡¼¤Î¾ì¹ç NULL ¤òÊÖ¤¹¡£
+構造体へのポインタを、エラーの場合 NULL を返す。
 .I DB
-¹½Â¤ÂΤÏ
+構造体は
 .I <db.h>
-¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢
-¾¯¤Ê¤¯¤È¤â°Ê²¼¤Î¤è¤¦¤Ê¥Õ¥£¡¼¥ë¥É¤ò»ý¤Ã¤Æ¤¤¤ë¡£
+インクルードファイルの中で定義されており、
+少なくとも以下のようなフィールドを持っている。
 .sp
 .in +4n
 .nf
@@ -162,285 +162,285 @@ typedef struct {
 .fi
 .in
 .PP
-³ÆÍ×ÁǤˤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥¿¥¤¥×¤È¡¢
-ÍÍ¡¹¤ÊÆ°ºî¤ò¤¹¤ë´Ø¿ô¤Î¥»¥Ã¥È¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Ï
+各要素には、データベースのタイプと、
+様々な動作をする関数のセットが記述されている。
+これらの関数は
 .BR dbopen ()
-¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò°ú¤­¿ô¤Ë¤È¤ë¡£
-¥­¡¼/¥Ç¡¼¥¿¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ä¥Õ¥é¥°Ãͤò¼è¤ë¤â¤Î¤â¤¢¤ë¡£
+によって返される構造体へのポインタを引き数にとる。
+キー/データ構造体へのポインタやフラグ値を取るものもある。
 .TP
 .I type
-ÍѤ¤¤é¤ì¤Æ¤¤¤ë¥¢¥¯¥»¥¹¥á¥½¥Ã¥É (¤È¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È) ¤Î·¿¡£
+用いられているアクセスメソッド (とファイルフォーマット) の型。
 .TP
 .I close
-¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¾ðÊó¤ò¥Ç¥£¥¹¥¯¤ËÁݤ­¤À¤¹¤¿¤á¤Î¥ë¡¼¥Á¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-³ä¤êÅö¤Æ¤é¤ì¤¿¥ê¥½¡¼¥¹¤ò²òÊü¤·¡¢ÍøÍѤ·¤¿¥Õ¥¡¥¤¥ë(·²)¤ò¥¯¥í¡¼¥º¤¹¤ë¡£
-¥­¡¼/¥Ç¡¼¥¿ÂФ¬¥á¥â¥ê¤Ë¥­¥ã¥Ã¥·¥å¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
+キャッシュされた情報をディスクに掃きだすためのルーチンへのポインタ。
+割り当てられたリソースを解放し、利用したファイル(群)をクローズする。
+キー/データ対がメモリにキャッシュされている場合、
 .I close
-¤ä
+や
 .I sync
-´Ø¿ô¤Ç¤ÎƱ´ü¤Ë¼ºÇÔ¤¹¤ë¤È¡¢¾ðÊó¤ËÌ·½â¤¬À¸¤¸¤ë¤«¾ðÊó¤ò¼º¤¦²ÄǽÀ­¤¬¤¢¤ë¡£
+関数での同期に失敗すると、情報に矛盾が生じるか情報を失う可能性がある。
 .I close
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢À®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£
+をセットする)、成功すると 0 を返す。
 .TP
 .I del
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥­¡¼/¥Ç¡¼¥¿ÂФòºï½ü¤¹¤ë¥ë¡¼¥Á¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
+データベースからキー/データ対を削除するルーチンへのポインタ。
 .IP
 .I flag
-°ú¤­¿ô¤Ï¼¡¤ÎÃͤ¬¥»¥Ã¥È¤Ç¤­¤ë¡£
+引き数は次の値がセットできる。
 .RS
 .TP
 .B R_CURSOR
-¥«¡¼¥½¥ë (cursor) ¤¬»²¾È¤·¤Æ¤¤¤ë¥ì¥³¡¼¥É¤òºï½ü¤¹¤ë¡£
-¥«¡¼¥½¥ë¤ÏÁ°¤â¤Ã¤Æ½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
+カーソル (cursor) が参照しているレコードを削除する。
+カーソルは前もって初期化されていなくてはならない。
 .RE
 .IP
 .I delete
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢À®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¤Þ¤¿»ØÄê¤Î
+をセットする)、成功すると 0 を返す。また指定の
 .I key
-¤¬¥Õ¥¡¥¤¥ëÃæ¤Ë̵¤¤¾ì¹ç 1 ¤òÊÖ¤¹¡£
+がファイル中に無い場合 1 を返す。
 .TP
 .I fd
-ÍѤ¤¤Æ¤¤¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¥ë¡¼¥Á¥ó
-¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-Ʊ¤¸¥Õ¥¡¥¤¥ë̾
+用いているデータベースのファイルデスクリプタを返すルーチン
+へのポインタ。
+同じファイル名
 .I file
-¤Ç
+で
 .BR dbopen ()
-¤ò¸Æ¤Ó½Ð¤·¤¿Á´¤Æ¤Î¥×¥í¥»¥¹¤ËÂФ·¤Æ¡¢
-¤½¤Î¥Õ¥¡¥¤¥ë¤ò¼¨¤¹Ã±°ì¤Î¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤¬ÊÖ¤µ¤ì¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤Ï¥í¥Ã¥¯´Ø¿ô
+を呼び出した全てのプロセスに対して、
+そのファイルを示す単一のファイルデスクリプタが返される。
+このファイルデスクリプタはロック関数
 .BR fcntl (2)
-¤È
+と
 .BR flock (2)
-¤Ø¤Î°ú¤­¿ô¤È¤·¤Æ°ÂÁ´¤Ë»ÈÍѤǤ­¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤Ï¡¢É¬¤º¤·¤â¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ç
-ÍѤ¤¤é¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¤¤¤º¤ì¤«¤Ë´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤Ê¤¯¤Æ¤âÎɤ¤¡£
-¥á¥â¥êÆâ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤Ï̵¤¤¡£
+への引き数として安全に使用できる。
+このファイルデスクリプタは、必ずしもアクセスメソッドで
+用いられているファイルのいずれかに関連づけられていなくても良い。
+メモリ内のデータベースにはファイルデスクリプタは無い。
 .I fd
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢À®¸ù¤¹¤ë¤È¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
+をセットする)、成功するとファイルデスクリプタを返す。
 .TP
 .I get
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥­¡¼¤òÍѤ¤¤Æ¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¤¿¤á¤Î
-¥ë¡¼¥Á¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-»ØÄꤷ¤¿
+データベースからキーを用いてデータを取り出すための
+ルーチンへのポインタ。
+指定した
 .I key
-¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¥Ç¡¼¥¿¤Î¥¢¥É¥ì¥¹¤ÈŤµ¤¬
+に関連づけられたデータのアドレスと長さが
 .I data
-¤¬»²¾È¤¹¤ë¹½Â¤ÂΤËÊÖ¤µ¤ì¤ë¡£
+が参照する構造体に返される。
 .I get
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢À®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¤Þ¤¿
+をセットする)、成功すると 0 を返す。また
 .I key
-¤¬¥Õ¥¡¥¤¥ëÃæ¤Ë̵¤¤¾ì¹ç 1 ¤òÊÖ¤¹¡£
+がファイル中に無い場合 1 を返す。
 .TP
 .I put
-¥­¡¼/¥Ç¡¼¥¿ÂФò¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËǼ¤á¤ë¥ë¡¼¥Á¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
+キー/データ対をデータベースに納めるルーチンへのポインタ。
 .IP
 .I flag
-°ú¤­¿ô¤Ë¤Ï¼¡¤ÎÃͤΤ¦¤Á¤Î¤É¤ì¤«°ì¤Ä¤¬¥»¥Ã¥È¤Ç¤­¤ë¡£
+引き数には次の値のうちのどれか一つがセットできる。
 .RS
 .TP
 .B R_CURSOR
-¥«¡¼¥½¥ë¤¬»²¾È¤·¤Æ¤¤¤ë¥­¡¼/¥Ç¡¼¥¿ÂФòÃÖ¤­´¹¤¨¤ë¡£
-¥«¡¼¥½¥ë¤ÏÁ°¤â¤Ã¤Æ½é´ü²½¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£
+カーソルが参照しているキー/データ対を置き換える。
+カーソルは前もって初期化されている必要がある。
 .TP
 .B R_IAFTER
 .I key
-¤Ç»²¾È¤µ¤ì¤ë¥Ç¡¼¥¿¤Îľ¸å¤Ë¡¢
-¿·¤·¤¤¥­¡¼/¥Ç¡¼¥¿ÂФòºî¤Ã¤Æ¥Ç¡¼¥¿¤òÄɲ乤롣
-Äɲ䵤줿¥­¡¼/¥Ç¡¼¥¿ÂФΥ쥳¡¼¥ÉÈÖ¹æ¤Ï
+で参照されるデータの直後に、
+新しいキー/データ対を作ってデータを追加する。
+追加されたキー/データ対のレコード番号は
 .I key
-¹½Â¤ÂΤËÊÖ¤µ¤ì¤ë¡£
+構造体に返される。
 .RB ( DB_RECNO
-¥¢¥¯¥»¥¹ÊýË¡¤Ç¤Î¤ß»È¤¨¤ë¡£)
+アクセス方法でのみ使える。)
 .TP
 .B R_IBEFORE
 .I key
-¤Ç»²¾È¤µ¤ì¤ë¥Ç¡¼¥¿¤ÎľÁ°¤Ë¡¢
-¿·¤·¤¤¥­¡¼/¥Ç¡¼¥¿ÂФòºî¤Ã¤Æ¥Ç¡¼¥¿¤òÁÞÆþ¤¹¤ë¡£
-Äɲ䵤줿¥­¡¼/¥Ç¡¼¥¿ÂФΥ쥳¡¼¥ÉÈÖ¹æ¤Ï
+で参照されるデータの直前に、
+新しいキー/データ対を作ってデータを挿入する。
+追加されたキー/データ対のレコード番号は
 .I key
-¹½Â¤ÂΤËÊÖ¤µ¤ì¤ë¡£
+構造体に返される。
 .RB ( DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ç¤Î¤ß»È¤¨¤ë¡£)
+アクセスメソッドでのみ使える。)
 .TP
 .B R_NOOVERWRITE
-¥­¡¼¤¬¤¢¤é¤«¤¸¤á¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¸Â¤ê¡¢¿·¤·¤¤¥­¡¼/¥Ç¡¼¥¿ÂФò¤¤¤ì¤ë¡£
+キーがあらかじめ存在しない場合に限り、新しいキー/データ対をいれる。
 .TP
 .B R_SETCURSOR
-¥­¡¼/¥Ç¡¼¥¿ÂФòǼ¤á¡¢¤½¤ì¤ò»Ø¤¹¤è¤¦¤Ë¥«¡¼¥½¥ë°ÌÃÖ¤ò¥»¥Ã¥È¤¢¤ë¤¤¤Ï½é´ü
-²½¤¹¤ë¡£
+キー/データ対を納め、それを指すようにカーソル位置をセットあるいは初期
+化する。
 .RB ( DB_BTREE
-¤È
+と
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ç¤Î¤ß»È¤¨¤ë¡£)
+アクセスメソッドでのみ使える。)
 .RE
 .IP
 .B R_SETCURSOR
-¤Ï
+は
 .B DB_BTREE
-¤È
+と
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ç¤·¤«ÍøÍѤǤ­¤Ê¤¤¡£
-¤Ê¤¼¤Ê¤é
+アクセスメソッドでしか利用できない。
+なぜなら
 .B R_SETCURSOR
-¤òÍѤ¤¤ë¤Ë¤Ï¡¢Êѹ¹¤µ¤ì¤ë»ö¤Î̵¤¤¸ÇÍ­¤Î½ç½ø¤ò¥­¡¼
-¤¬»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
+ã\82\92ç\94¨ã\81\84ã\82\8bã\81«ã\81¯ã\80\81å¤\89æ\9b´ã\81\95ã\82\8cã\82\8bäº\8bã\81®ç\84¡ã\81\84å\9bºæ\9c\89ã\81®é \86åº\8fã\82\92ã\82­ã\83¼
+が持っていなければならないからである。
 .IP
 .B R_IAFTER
-¤È
+と
 .B R_IBEFORE
-¤Ï
+は
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ç¤·¤«ÍøÍѤǤ­¤Ê¤¤¡£
-¤³¤ì¤é¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤¬
-¿·¤·¤¤¥­¡¼¤òºî¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
-¤³¤ì¤¬À®Î©¤¹¤ë¤Î¤Ï¡¢Î㤨¤Ð¡¢½ç½ø¤Å¤±¤é¤¿ÆÈΩ¤Ê¥ì¥³¡¼¥ÉÈֹ椬
-¥­¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£
+アクセスメソッドでしか利用できない。
+これらを実現するには、アクセスメソッドが
+新しいキーを作れなければならないからである。
+これが成立するのは、例えば、順序づけらた独立なレコード番号が
+キーになっているような場合だけである。
 .IP
 .I put
-¥ë¡¼¥Á¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÆ°ºî¤Ï¡¢¿·¤·¤¤¥­¡¼/¥Ç¡¼¥¿ÂФò
-´û¤Ë¸ºß¤¹¤ë¥­¡¼¤òÃÖ¤­´¹¤¨¤ë»ö¤Æ³ÊǼ¤¹¤ëÆ°ºî¤Ç¤¢¤ë¡£
+ルーチンのデフォルトの動作は、新しいキー/データ対を
+既に存在するキーを置き換える事て格納する動作である。
 .IP
 .I put
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢À®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£¤Þ¤¿
+をセットする)、成功すると 0 を返す。また
 .I flag
-¤Ë
+に
 .B R_NOOVERWRITE
-¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Æ¥­¡¼¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç 1 ¤òÊÖ¤¹¡£
+がセットされていてキーが既に存在する場合 1 を返す。
 .TP
 .I seq
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥·¡¼¥±¥ó¥·¥ã¥ë¤Ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¤¿¤á¤Î
-¥ë¡¼¥Á¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-¥­¡¼¤Î¥¢¥É¥ì¥¹¤ÈŤµ¤¬
+データベースからシーケンシャルにデータを取り出すための
+ルーチンへのポインタ。
+キーのアドレスと長さが
 .I key
-¤¬»²¾È¤¹¤ë¹½Â¤ÂΤËÊÖ¤µ¤ì¤ë¡£¥Ç¡¼¥¿¤Î¥¢¥É¥ì¥¹¤ÈŤµ¤¬
+が参照する構造体に返される。データのアドレスと長さが
 .I data
-¤¬»²¾È¤¹¤ë¹½Â¤ÂΤËÊÖ¤µ¤ì¤ë¡£
+が参照する構造体に返される。
 .IP
-¥·¡¼¥±¥ó¥·¥ã¥ë¤Ê¥­¡¼/¥Ç¡¼¥¿ÂФμèÆÀ¤Ï¤¤¤Ä¤Ç¤â¹Ô¤¨¤ë¡£¤Þ¤¿
-¡Ö¥«¡¼¥½¥ë¡×¤Î°ÌÃÖ¤Ï
+シーケンシャルなキー/データ対の取得はいつでも行える。また
+「カーソル」の位置は
 .IR del ,
 .IR get ,
 .IR put ,
 .I sync
-¥ë¡¼¥Á¥ó¤Î¸Æ¤Ó½Ð¤·¤Ë¤Ï±Æ¶Á¤µ¤ì¤Ê¤¤¡£
-¥·¡¼¥±¥ó¥·¥ã¥ë¤Ê¥¹¥­¥ã¥ó¤ÎÅÓÃæ¤Ë¹Ô¤ï¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤ÎÊѹ¹¤Ï
-¥¹¥­¥ã¥ó¤ËÈ¿±Ç¤µ¤ì¤ë¡£¤¹¤Ê¤ï¤Á¡¢¥«¡¼¥½¥ë¤Î¸å¤í¤ËÁÞÆþ¤µ¤ì¤¿¥ì¥³¡¼¥É¤Ï
-ÊÖ¤µ¤ì¤Ê¤¤¤¬¡¢¥«¡¼¥½¥ë¤ÎÁ°¤ËÁÞÆþ¤µ¤ì¤¿¥ì¥³¡¼¥É¤ÏÊÖ¤µ¤ì¤ë¡£
+ルーチンの呼び出しには影響されない。
+シーケンシャルなスキャンの途中に行われたデータベースへの変更は
+スキャンに反映される。すなわち、カーソルの後ろに挿入されたレコードは
+返されないが、カーソルの前に挿入されたレコードは返される。
 .IP
-¥Õ¥é¥°ÃͤˤÏ\fBɬ¤º\fP°Ê²¼¤Ë¼¨¤¹¤¦¤Á¤Î
-¤É¤ì¤«°ì¤Ä¤ò¥»¥Ã¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+フラグ値には\fB必ず\fP以下に示すうちの
+どれか一つをセットしなければならない。
 .RS
 .TP
 .B R_CURSOR
-»ØÄꤷ¤¿¥­¡¼¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¥Ç¡¼¥¿¤¬ÊÖ¤µ¤ì¤ë¡£
+指定したキーに関連づけられたデータが返される。
 .I get
-¥ë¡¼¥Á¥ó¤È¤Î°ã¤¤¤Ï¡¢¥«¡¼¥½¥ë¤¬¥­¡¼¤Î°ÌÃ֤˥»¥Ã¥È¤¢¤ë¤¤¤Ï
-½é´ü²½¤µ¤ì¤ëÅÀ¤Ç¤¢¤ë¡£
-(Ãí°Õ:
+ルーチンとの違いは、カーソルがキーの位置にセットあるいは
+初期化される点である。
+(注意:
 .B DB_BTREE
-¥¢¥¯¥»¥¹ÊýË¡¤Ç¤Ï¡¢ÊÖ¤µ¤ì¤¿¥­¡¼¤¬
-ɬ¤º¤·¤â»ØÄꤷ¤¿¥­¡¼¤ËÀµ¤·¤¯¥Þ¥Ã¥Á¤·¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
-ÊÖ¤µ¤ì¤¿¥­¡¼¤Ï¡¢»ØÄꤵ¤ì¤¿¥­¡¼¤ËÅù¤·¤¤¤«¤è¤êÂ礭¤¤¤â¤Î¤Î¤¦¤Á
-ºÇ¾®¤Î¤â¤Î¤Ë¤Ê¤ë
-(Éôʬ¥­¡¼¥Þ¥Ã¥Á¤«Èϰϸ¡º÷¤¬µö²Ä¤µ¤ì¤Æ¤¤¤ë¾ì¹ç)¡£)
+アクセス方法では、返されたキーが
+必ずしも指定したキーに正しくマッチしないかもしれない。
+返されたキーは、指定されたキーに等しいかより大きいもののうち
+最小のものになる
+(部分キーマッチか範囲検索が許可されている場合)。)
 .TP
 .B R_FIRST
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇ½é¤Î¥­¡¼/¥Ç¡¼¥¿ÂФ¬ÊÖ¤µ¤ì¤ë¡£
-¥«¡¼¥½¥ë¤Ï¤½¤ì¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¥»¥Ã¥È¤Þ¤¿¤Ï½é´ü²½¤µ¤ì¤ë¡£
+データベースの最初のキー/データ対が返される。
+カーソルはそれを参照するようにセットまたは初期化される。
 .TP
 .B R_LAST
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºÇ¸å¤Î¥­¡¼/¥Ç¡¼¥¿ÂФ¬ÊÖ¤µ¤ì¤ë¡£¥«¡¼¥½¥ë¤Ï¤½¤ì¤ò»²¾È¤¹¤ë
-¤è¤¦¤Ë¥»¥Ã¥È¤Þ¤¿¤Ï½é´ü²½¤µ¤ì¤ë¡£
+データベースの最後のキー/データ対が返される。カーソルはそれを参照する
+ようにセットまたは初期化される。
 .RB ( DB_BTREE
-¤È
+と
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤À¤±¤Ç»È¤¨¤ë¡£)
+アクセスメソッドだけで使える。)
 .TP
 .B R_NEXT
-¥«¡¼¥½¥ëľ¸å¤Î¥­¡¼/¥Ç¡¼¥¿ÂФò¼èÆÀ¤¹¤ë¡£
-¥«¡¼¥½¥ë¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï
+カーソル直後のキー/データ対を取得する。
+カーソルがセットされていない場合は
 .B R_FIRST
-¥Õ¥é¥°¤ÈƱ¤¸¡£
+フラグと同じ。
 .TP
 .B R_PREV
-¥«¡¼¥½¥ëľÁ°¤Î¥­¡¼/¥Ç¡¼¥¿ÂФò¼èÆÀ¤¹¤ë¡£
-¥«¡¼¥½¥ë¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï
+カーソル直前のキー/データ対を取得する。
+カーソルがセットされていない場合は
 .B R_LAST
-¥Õ¥é¥°¤ÈƱ¤¸¡£
+フラグと同じ。
 .RB ( DB_BTREE
-¤È
+と
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤À¤±¤Ç»È¤¨¤ë¡£)
+アクセスメソッドだけで使える。)
 .RE
 .IP
 .B R_LAST
-¤È
+と
 .B R_PREV
-¤Ï¡¢
+は、
 .B DB_BTREE
-¤È
+と
 .B DB_RECNO
-¥¢¥¯¥»¥¹ÊýË¡¤Ç¤·¤«»È¤¨¤Ê¤¤¡£
-¤Ê¤¼¤Ê¤é
+アクセス方法でしか使えない。
+なぜなら
 .B R_SETCURSOR
-¤òÍѤ¤¤ë¤Ë¤Ï¡¢Êѹ¹¤µ¤ì¤ë»ö¤Î̵¤¤¸ÇÍ­¤Î½ç½ø¤ò¥­¡¼¤¬»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
+を用いるには、変更される事の無い固有の順序をキーが持っていなければならないからである。
 .IP
 .I seq
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢
-À®¸ù¤Î¾ì¹ç 0 ¤òÊÖ¤¹¡£
-»ØÄꤷ¤¿¥­¡¼¤ä¥«¥ì¥ó¥È¥­¡¼¤è¤ê¤âÂ礭¤¤/¾®¤µ¤¤¥­¡¼/¥Ç¡¼¥¿ÂФ¬¤Ê¤¤¾ì¹ç¤Ï
-1 ¤òÊÖ¤¹¡£
+をセットする)、
+成功の場合 0 を返す。
+指定したキーやカレントキーよりも大きい/小さいキー/データ対がない場合は
+1 を返す。
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¤¤¤Æ¡¢
-¤«¤Ä¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤¬Ê¸»ú·¿¤Î¥¹¥Ú¥·¥ã¥ë¥Õ¥¡¥¤¥ë¤Ç¡¢
-´°À®¤·¤Æ¤¤¤ë¥­¡¼/¥Ç¡¼¥¿ÂФ¬Ìµ¤¤¾ì¹ç¤Ë¤Ï¡¢
+アクセスメソッドを使っていて、
+かつデータベースファイルが文字型のスペシャルファイルで、
+完成しているキー/データ対が無い場合には、
 .I seq
-¥ë¡¼¥Á¥ó¤Ï 2 ¤òÊÖ¤¹¡£
+ルーチンは 2 を返す。
 .TP
 .I sync
-¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¾ðÊó¤ò¥Ç¥£¥¹¥¯¤ËÁݤ­½Ð¤¹¥ë¡¼¥Á¥ó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¥á¥â¥ê¤ÎÃæ¤À¤±¤Ë¤¢¤ë¾ì¹ç¡¢
+キャッシュされた情報をディスクに掃き出すルーチンへのポインタ。
+データベースがメモリの中だけにある場合、
 .I sync
-¥ë¡¼¥Á¥ó¤Ï²¿¤Î¸ú²Ì¤â¤Ê¤¯¾ï¤ËÀ®¸ù¤¹¤ë¡£
+ルーチンは何の効果もなく常に成功する。
 .IP
-flag ¤Ë¤Ï°Ê²¼¤ÎÃͤ¬¥»¥Ã¥È¤Ç¤­¤ë¡£
+flag には以下の値がセットできる。
 .RS
 .TP
 .B R_RECNOSYNC
 .B DB_RECNO
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë
-¤³¤Î¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¤È¡¢
-recno ¥Õ¥¡¥¤¥ë¤½¤Î¤â¤Î¤Ë¤Ç¤Ï¤Ê¤¯¡¢
-¤½¤Î¥Ù¡¼¥¹¤Ë¤Ê¤Ã¤Æ¤¤¤ë btree ¥Õ¥¡¥¤¥ë¤Ë sync ¤¬¹Ô¤ï¤ì¤ë¡£
-(¾ÜºÙ¤Ï
+アクセスメソッドを使っている場合に
+このフラグをセットすると、
+recno ファイルそのものにではなく、
+そのベースになっている btree ファイルに sync が行われる。
+(詳細は
 .BR recno (3)
-¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç
+マニュアルページで
 .I bfname
-¥Õ¥£¡¼¥ë¥É¤òÀâÌÀ¤·¤Æ¤¤¤ëÉôʬ¤ò»²¾È¤Î¤³¤È¡£)
+フィールドを説明している部分を参照のこと。)
 .RE
 .IP
 .I sync
-¥ë¡¼¥Á¥ó¤Ï¥¨¥é¡¼¤Î¾ì¹ç \-1 ¤òÊÖ¤·
+ルーチンはエラーの場合 \-1 を返し
 .RI ( errno
-¤ò¥»¥Ã¥È¤¹¤ë)¡¢À®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤¹¡£
-.SS ¥­¡¼/¥Ç¡¼¥¿ÂÐ
-Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Ë¤ª¤¤¤Æ¡¢
-¥­¡¼/¥Ç¡¼¥¿ÂФò¥Ù¡¼¥¹¤Ë¤·¤Æ¥¢¥¯¥»¥¹¤¬¹Ô¤ï¤ì¤ë¡£
-¥­¡¼¤È¥Ç¡¼¥¿¤Î¤¤¤º¤ì¤â¡¢¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤Çµ­½Ò¤µ¤ì¤ë¡£
+をセットする)、成功すると 0 を返す。
+.SS キー/データ対
+全てのファイルタイプにおいて、
+キー/データ対をベースにしてアクセスが行われる。
+キーとデータのいずれも、次のデータ構造で記述される。
 .in +4n
 .nf
 
@@ -451,88 +451,88 @@ typedef struct {
 .fi
 .in
 .I DBT
-¹½Â¤ÂΤγÆÍ×ÁǤϼ¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
+構造体の各要素は次のように定義されている。
 .TP
 .I data
-¥Ð¥¤¥Èʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
+バイト文字列へのポインタ。
 .TP
 .I size
-¥Ð¥¤¥Èʸ»úÎó¤ÎŤµ¡£
+バイト文字列の長さ。
 .PP
-¥­¡¼¤È¥Ç¡¼¥¿¤Î¥Ð¥¤¥Èʸ»úÎó¤Ï¡¢
-´ðËÜŪ¤Ë¤Ï̵À©¸Â¤ÎŤµ¤Îʸ»úÎó¤ò»²¾È¤Ç¤­¤ë¤¬¡¢
-¤·¤«¤·¤¤¤º¤ì¤â»ÈÍѲÄǽ¤Ê¥á¥â¥ê¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ï¥Ð¥¤¥Èʸ»úÎó¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï
-²¿¤âÊݾڤ·¤Æ¤¤¤Ê¤¤»ö¤ËÃí°Õ¤¹¤ë¤³¤È¡£
-.SH ¥¨¥é¡¼
+キーとデータのバイト文字列は、
+基本的には無制限の長さの文字列を参照できるが、
+しかしいずれも使用可能なメモリに収まっていなくてはならない。
+アクセスメソッドはバイト文字列のアラインメントについては
+何も保証していない事に注意すること。
+.SH ã\82¨ã\83©ã\83¼
 .BR dbopen ()
-¥ë¡¼¥Á¥ó¤Ï¼ºÇÔ¤¹¤ë¤È¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
+ルーチンは失敗するとライブラリルーチン
 .BR open (2)
-¤È
+と
 .BR malloc (3)
-¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë±þ¤¸¤¿
+で指定されているエラーに応じた
 .I errno
-¤ò¥»¥Ã¥È¤¹¤ë¡£¤¢¤ë¤¤¤Ï°Ê²¼¤ò¥»¥Ã¥È¤¹¤ë¡£
+をセットする。あるいは以下をセットする。
 .TP
 .B [EFTYPE]
-¥Õ¥¡¥¤¥ë¤¬Àµ¤·¤¯¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+ファイルが正しくフォーマットされていない。
 .TP
 .B [EINVAL]
-»ØÄꤷ¤¿¥Ñ¥é¥á¡¼¥¿(¥Ï¥Ã¥·¥å´Ø¿ô¡¢¥Ð¥¤¥ÈËä¤á¤Ê¤É)¤¬¸½ºß¤Î¥Õ¥¡¥¤¥ë»ÅÍͤË
-¹ç¤Ã¤Æ¤¤¤Ê¤¤¡¢¥Ñ¥é¥á¡¼¥¿¤¬´Ø¿ô¤Ë¤È¤Ã¤Æ̵°ÕÌ£
-(Î㤨¤Ð¤¢¤é¤«¤¸¤á½é´ü²½¤·¤Ê¤¤¤Ç¥«¡¼¥½¥ë¤ò»È¤¦¤È¤«)¡¢
-¥Õ¥¡¥¤¥ë¤È¥½¥Õ¥È¥¦¥§¥¢¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¹ç¤Ã¤Æ¤¤¤Ê¤¤¡£
+指定したパラメータ(ハッシュ関数、バイト埋めなど)が現在のファイル仕様に
+合っていない、パラメータが関数にとって無意味
+(例えばあらかじめ初期化しないでカーソルを使うとか)、
+ファイルとソフトウェアのバージョンが合っていない。
 .PP
 .I close
-¥ë¡¼¥Á¥ó¤Ï¼ºÇÔ¤¹¤ë¤È¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
+ルーチンは失敗するとライブラリルーチン
 .BR close (2),
 .BR read (2),
 .BR write (2),
 .BR free (3),
 .BR fsync (2)
-¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë±þ¤¸¤¿
+で指定されているエラーに応じた
 .I errno
-¤ò¥»¥Ã¥È¤¹¤ë¡£
+をセットする。
 .PP
 .IR del ,
 .IR get ,
 .I put
-¤È
+と
 .I seq
-¥ë¡¼¥Á¥ó¤Ï¼ºÇÔ¤¹¤ë¤È¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
+ルーチンは失敗するとライブラリルーチン
 .BR read (2),
 .BR write (2),
 .BR free (3),
 .BR malloc (3)
-¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë±þ¤¸¤¿
+で指定されているエラーに応じた
 .I errno
-¤ò¥»¥Ã¥È¤¹¤ë¡£
+をセットする。
 .PP
 .I fd
-¥ë¡¼¥Á¥ó¤Ï¥á¥â¥êÆâ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂФ·¼ºÇÔ¤¹¤ë¤È
+ルーチンはメモリ内データベースに対し失敗すると
 .I errno
-¤Ë
+に
 .B ENOENT
-¤ò¥»¥Ã¥È¤¹¤ë¡£
+をセットする。
 .PP
 .I sync
-¥ë¡¼¥Á¥ó¤Ï¼ºÇÔ¤¹¤ë¤È¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
+ルーチンは失敗するとライブラリルーチン
 .BR fsync (2)
-¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë±þ¤¸¤¿
+で指定されているエラーに応じた
 .I errno
-¤ò¥»¥Ã¥È¤¹¤ë¡£
-.SH ¥Ð¥°
+をセットする。
+.SH ã\83\90ã\82°
 typedef
 .I DBT
-¤Ï ``data base thang''¤Îά¸ì¤Ç¤¢¤ë¤¬¡¢¤³¤ì¤¬»È¤ï¤ì¤Æ¤¤¤ë¤Î¤Ï¡¢
-¤Þ¤À»È¤ï¤ì¤Æ¤¤¤Ê¤¤ÂÅÅö¤Ê̾Á°¤¬»×¤¤ÉÕ¤«¤Ê¤«¤Ã¤¿¤¿¤á¤Ç¤¢¤ë¡£
+は ``data base thang''の略語であるが、これが使われているのは、
+まだ使われていない妥当な名前が思い付かなかったためである。
 .PP
-¥Õ¥¡¥¤¥ë¥Ç¥¹¥¯¥ê¥×¥¿¤ò»È¤Ã¤¿¤ä¤ê¤È¤ê¤Ï¤Ò¤É¤¤Âåʪ¤Ç¤¢¤ê¡¢
-¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ïºï½ü¤µ¤ì¤ë¤À¤í¤¦¡£
+ファイルデスクリプタを使ったやりとりはひどい代物であり、
+将来のバージョンでは削除されるだろう。
 .PP
-¤É¤Î¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤â¡¢Æ±»þ¥¢¥¯¥»¥¹¡¢¥í¥Ã¥¯¡¢¥È¥é¥ó¥¶¥¯¥·¥ç¥ó
-¤Î»ÅÁȤߤÏÈ÷¤¨¤Æ¤¤¤Ê¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
+どのアクセスメソッドも、同時アクセス、ロック、トランザクション
+の仕組みは備えていない。
+.SH 関連項目
 .BR btree (3),
 .BR hash (3),
 .BR mpool (3),