recno

Autres langues

Langue: ja

Autres versions - même langue

Version: 1994-08-18 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

recno - ¥ì¥³¡¼¥ÉÈÖ¹æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¥á¥½¥Ã¥É

½ñ¼°


#include <sys/types.h>

#include <db.h>


ÀâÌÀ

¥ë¡¼¥Á¥ó dbopen ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥é¥¤¥Ö¥é¥ê¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤Î°ì¤Ä¤Ë¡¢ ¥ì¥³¡¼¥ÉÈÖ¹æ¥Õ¥¡¥¤¥ë (record number file: recno file) ¤¬¤¢¤ë¡£ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ø¤Î¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ë´Ø¤¹¤ë°ìÈÌŪ¤Êµ­½Ò¤Ï dbopen(3), ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç¤Ï recno ÆÃÍ­¤Î¾ðÊó¤Ë¤Ä¤¤¤Æ¤Î¤ßµ­½Ò¤¹¤ë¡£

¥ì¥³¡¼¥ÉÈÖ¹æ¥Ç¡¼¥¿¹½Â¤¤Ï¡¢¥Õ¥é¥Ã¥È¤Ê¥Õ¥¡¥¤¥ë·Á¼°¤Ë³ÊǼ¤µ¤ì¤¿ ²ÄÊÑĹ/¸ÇÄêĹ¥ì¥³¡¼¥É¤«¤é¤Ê¤ê¡¢ÏÀÍý¥ì¥³¡¼¥ÉÈÖ¹æ¤Ç¥¢¥¯¥»¥¹¤µ¤ì¤ë¡£ ¥ì¥³¡¼¥ÉÈÖ¹æ 5 ¤¬¤¢¤ì¤Ð¡¢¥ì¥³¡¼¥ÉÈÖ¹æ 1 ¤«¤é 4 ¤â¸ºß¤¹¤ë¡£ ¥ì¥³¡¼¥ÉÈÖ¹æ 1 ¤òºï½ü¤¹¤ë¤È¡¢¥ì¥³¡¼¥ÉÈÖ¹æ 5 ¤Ï 4 ¤ËÉÕ¤±Âؤ¨¤é¤ì¡¢ ¥«¡¼¥½¥ë¤â°ÜÆ°¤¹¤ë¡£¥ì¥³¡¼¥ÉÈÖ¹æ 1 °Ê¹ß¤Î¤â¤Î¤Ï°ì¤Ä·«¤ê¾å¤¬¤ë¤ï¤±¤Ç¤¢¤ë¡£

dbopen ¤Ç»È¤¦ recno ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤ËÆÃÍ­¤Î¥Ç¡¼¥¿¹½Â¤ÂΤϡ¢ <db.h> ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ç¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£


typedef struct {

    u_long  flags;

    u_int   cachesize;

    u_int   psize;

    int     lorder;

    size_t  reclen;

    u_char  bval;

    char   *bfname;

} RECNOINFO;

¤³¤Î¹½Â¤ÂΤÎÍ×ÁǤò°Ê²¼¤Ë¼¨¤¹¡£

flags
flag ¤ÎÃÍ¤Ï °Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«¤«¡¢¤³¤ì¤é¤ÎÏÀÍýϤǻØÄꤵ¤ì¤ë¡£
R_FIXEDLEN
¥ì¥³¡¼¥ÉŤ¬¸ÇÄê¤Ç¤¢¤ê¡¢¥Ð¥¤¥È¶èÀÚ¤ê¤Ç¤Ï¤Ê¤¤¡£ ¹½Â¤ÂΤÎÍ×ÁÇ reclen ¤Ï¥ì¥³¡¼¥É¤ÎŤµ¤ò»ØÄꤹ¤ë¡£¤Þ¤¿¡¢Í×ÁÇ bval ¤ÏËä¤áʸ»ú (pad character) ¤ò»ØÄꤹ¤ë¡£ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÆþ¤ì¤é¤ì¤¿¥ì¥³¡¼¥É¤ÎÆâ reclen ¥Ð¥¤¥È¤ËËþ¤¿¤Ê¤¤¤â¤Î¤Ç¤Ï¡¢»Ä¤ê¤ÎÉôʬ¤ËËä¤áʸ»ú¤¬¼«Æ°Åª¤ËÆþ¤ë¡£
R_NOKEY
dbopen ¤Ç»ØÄꤵ¤ì¤¿¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ç¤Ï¡¢¥·¡¼¥±¥ó¥·¥ã¥ë¤Ê¥ì¥³¡¼¥É¼èÆÀ¤Ï ¸Æ¤Ó½Ð¤·¥­¡¼¤È¥Ç¡¼¥¿¹½Â¤ÂΤÎξÊý¤òËä¤á¤Æ¤¤¤¯¡£ R_NOKEY ¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢¥­¡¼¹½Â¤ÂΤòËä¤á¤ë¤Î¤Ë cursor ¥ë¡¼¥Á¥ó¤òɬÍפȤ·¤Ê¤¤¡£ ¤³¤ì¤òÍѤ¤¤ì¤Ð¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥Õ¥¡¥¤¥ë¤Î½ª¤ê¤ÎÊý¤ò¼èÆÀ¤¹¤ëºÝ¤Ë¡¢ ¤½¤ÎÅÓÃæ¤Î¥ì¥³¡¼¥É¤òÆɤޤʤ¯¤Æ¤âºÑ¤à»ö¤Ë¤Ê¤ë¡£
R_SNAPSHOT
¤³¤Î¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢ dbopen ¤Î¸Æ¤Ó½Ð¤·¤ÎºÝ¡¢ ¥ª¥ê¥¸¥Ê¥ë¥Õ¥¡¥¤¥ë¤«¤éÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¥ì¥³¡¼¥É¤òÆɤàÂå¤ï¤ê¤Ë¡¢ ¥Õ¥¡¥¤¥ë¤Î snapshot ¤òÍѤ¤¤ë¡£
cachesize
ÁÛÄꤵ¤ì¤ë¥á¥â¥ê¥­¥ã¥Ã¥·¥å¤ÎºÇÂ祵¥¤¥º (¥Ð¥¤¥Èñ°Ì)¡£ ¤³¤ÎÃÍ¤Ï ¤¢¤¯¤Þ¤Ç »²¹Í¤Ç¤¢¤ê¡¢¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ï¤³¤ÎÃͤò±Û¤¨¤¿¥á¥â¥ê¤Î ³ä¤êÅö¤Æ¤ËÀ®¸ù¤¹¤ë¤³¤È¤â¤¢¤ë¡£ cachesize ¤¬ 0 (¤¢¤ë¤¤¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤) ¤Î¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥­¥ã¥Ã¥·¥å¤¬»È¤ï¤ì¤ë¡£
psize
recno ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ï¡¢¼«¿È¤Î¥ì¥³¡¼¥É¤Î¥³¥Ô¡¼¤ò¥á¥â¥êÆâÉô¤Ë btree ¤ÇÊݸ¤·¤Æ¤¤¤ë¡£ ¤³¤ÎÃͤϡ¢¤½¤Î btree Ãæ¤Î¥Î¡¼¥É¤ËÂФ·¤ÆÍѤ¤¤é¤ì¤ë ¥Ú¡¼¥¸¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤Ç¤¢¤ë¡£ psize ¤¬ 0 (¤¢¤ë¤¤¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤) ¤Î¾ì¹ç¡¢ ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î I/O ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò´ð¤Ë¤·¤Æ ¥Ú¡¼¥¸¥µ¥¤¥º¤¬·è¤á¤é¤ì¤ë¡£ ¾ÜºÙ¤Ï btree(3) ¤ò»²¾È¡£
lorder
¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥á¥¿¥Ç¡¼¥¿¤ÎÀ°¿ôÃͤΥХ¤¥È¥ª¡¼¥À¡¼¡£ ¤³¤Î¿ô»ú¤Ï¡¢½ç½ø¤òÀ°¿ô¤Çɽ¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ Î㤨¤Ð¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Ê¤é¡¢¤³¤Î¿ôÃÍ¤Ï 4,321 ¤È¤Ê¤ë¡£ lorder ¤¬ 0 (»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤) ¤Î¾ì¹ç¡¢¸½ºß¤Î¥Û¥¹¥È ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥Ð¥¤¥È¥ª¡¼¥À¡¼¤¬»È¤ï¤ì¤ë¡£
reclen
¸ÇÄê¥ì¥³¡¼¥ÉŤÎŤµ¡£
bval
²ÄÊѥ쥳¡¼¥ÉŤˤª¤¤¤Æ¡¢ ¥ì¥³¡¼¥É¤Î½ª¤ê¤ò¼¨¤¹¶èÀÚ¤ê¥Ð¥¤¥È (¶èÀÚ¤êʸ»ú) ¤Ç¤¢¤ë¡£ ¸ÇÄê¥ì¥³¡¼¥ÉŤǤÏËä¤áʸ»ú¤È¤·¤Æ»È¤ï¤ì¤ë¡£ Ãͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢ ²ÄÊѥ쥳¡¼¥ÉĹ¤Î¥ì¥³¡¼¥É¤Î½ª¤ê¤Ë¤Ï²þ¹Ô (``\n'') ¤¬»È¤ï¤ì¤ë¡£ ¸ÇÄê¥ì¥³¡¼¥ÉĹ¤Î¥ì¥³¡¼¥É¤Ï¶õÇò (space) ¤ÇËä¤á¤é¤ì¤ë¡£
bfname
recno ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ï¡¢ ¼«¿È¤Î¥ì¥³¡¼¥É¤Î¥³¥Ô¡¼¤ò¥á¥â¥êÆâÉô¤Ç btree ¤ËÊݸ¤·¤Æ¤¤¤ë¡£ bfname ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¤³¤ì¤Ï btree ¥Õ¥¡¥¤¥ë̾ (btree ¥Õ¥¡¥¤¥ë¤ò dbopen ¤¹¤ë»þ¤Ë»ØÄꤹ¤ë¥Õ¥¡¥¤¥ë̾) ¤ò»ØÄꤹ¤ë¡£

recno ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Ç»È¤ï¤ì¤ë¥­¡¼/¥Ç¡¼¥¿ÂФΥǡ¼¥¿Éôʬ¤Ï¡¢ ¾¤Î¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤ÈƱ¤¸¤Ç¤¢¤ë¡£ ¤·¤«¤·¥­¡¼¤Ï°Û¤Ê¤Ã¤Æ¤¤¤ë¡£ ¥­¡¼¤Î data ¥Õ¥£¡¼¥ë¥É¤Ï recno_t ·¿¤Î¡¢¥á¥â¥ê°ÌÃ֤ؤΥݥ¤¥ó¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ recno_t ¤Ï <db.h>¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤Î·¿¤ÏÄ̾¤½¤Î¼ÂÁõ¤ÇÍøÍѲÄǽ¤ÊºÇÂç¤ÎÉä¹æ̵¤·À°¿ô¤Ç¤¢¤ë¡£ ¥­¡¼¤Î size ¥Õ¥£¡¼¥ë¥É¤Ï¤½¤Î·¿¤Î¥µ¥¤¥º¤È¤Ê¤ë¡£

recno ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¤Î¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢¤Å¤±¤é¤ì¤ë ¥á¥¿¥Ç¡¼¥¿¤Ï¸ºß¤Ç¤­¤Ê¤¤¤«¤é¡¢ ¥Ç¥Õ¥©¥ë¥ÈÃÍ (¸ÇÄê¥ì¥³¡¼¥ÉĹ¤ä¥»¥Ñ¥ì¡¼¥¿Ê¸»ú¤Ê¤É) ¤ËÂФ¹¤ëÊѹ¹¤Ï¥Õ¥¡¥¤¥ë¤ò³«¤¯Ëè¤ËÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

dbopen ¤Ç»ØÄꤵ¤ì¤¿¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ç¤Ï¡¢ put ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»È¤Ã¤Æ¿·¤·¤¤¥ì¥³¡¼¥É¤òºîÀ®¤¹¤ë¤È¤­¤Ë¡¢ »ØÄꤷ¤¿¥ì¥³¡¼¥ÉÈֹ椬¥Ç¡¼¥¿¥Ù¡¼¥¹Ãæ¤Ë¸ºß¤·¤Æ¤¤¤ëºÇÂç¥ì¥³¡¼¥ÉÈÖ¹æ¤è¤ê °ì¤Ä°Ê¾åÂ礭¤¤¤È¡¢ ¶õ¤Î¥ì¥³¡¼¥É¤¬Æ±»þ¤Ë¤Ç¤­¤Æ¤·¤Þ¤¦¡£

¥¨¥é¡¼

recno ¥¢¥¯¥»¥¹¥á¥½¥Ã¥É¥ë¡¼¥Á¥ó¤Ï¼ºÇÔ¤¹¤ë¤È dbopen(3) ¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¥¨¥é¡¼¤Ë±þ¤¸¤¿ errno ¤«¡¢ ¤¢¤ë¤¤¤Ï°Ê²¼¤Ë¼¨¤¹ errno ¤ò¥»¥Ã¥È¤¹¤ë¡£
[EINVAL]
¸ÇÄêĹ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥ì¥³¡¼¥É¤òÄɲ乤ë¤È¤­¡¢¥Ç¡¼¥¿¤¬Ä¹¤¹¤®¤¿¡£

¥Ð¥°

¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¤·¤Æ¤Ï¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤È¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¤ß¤¬ ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£

´ØÏ¢¹àÌÜ

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.