# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2013-07-15 16:07+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/btree.3:36 #, no-wrap msgid "BTREE" msgstr "" #. type: TH #: build/C/man3/btree.3:36 build/C/man3/hash.3:36 build/C/man3/recno.3:36 #, no-wrap msgid "2012-04-23" msgstr "" #. type: TH #: build/C/man3/btree.3:36 build/C/man3/dbopen.3:36 build/C/man3/hash.3:36 build/C/man3/mpool.3:36 build/C/man3/recno.3:36 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: build/C/man3/btree.3:38 build/C/man3/dbopen.3:38 build/C/man3/hash.3:38 build/C/man3/mpool.3:38 build/C/man3/recno.3:38 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: build/C/man3/btree.3:40 msgid "btree - btree database access method" msgstr "" #. type: SH #: build/C/man3/btree.3:40 build/C/man3/dbopen.3:40 build/C/man3/hash.3:40 build/C/man3/mpool.3:40 build/C/man3/recno.3:40 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: build/C/man3/btree.3:45 build/C/man3/hash.3:45 build/C/man3/recno.3:45 #, no-wrap msgid "" "B<#include Esys/types.hE\n" "#include Edb.hE>\n" msgstr "" #. type: SH #: build/C/man3/btree.3:47 build/C/man3/dbopen.3:51 build/C/man3/hash.3:47 build/C/man3/mpool.3:62 build/C/man3/recno.3:47 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: build/C/man3/btree.3:54 build/C/man3/dbopen.3:58 build/C/man3/hash.3:54 build/C/man3/mpool.3:69 build/C/man3/recno.3:54 msgid "" "I: 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 I library " "instead." msgstr "" #. type: Plain text #: build/C/man3/btree.3:62 msgid "" "The routine B(3) is the library interface to database files. One " "of the supported file formats is btree files. The general description of " "the database access methods is in B(3), this manual page describes " "only the btree specific information." msgstr "" #. type: Plain text #: build/C/man3/btree.3:65 msgid "" "The btree data structure is a sorted, balanced tree structure storing " "associated key/data pairs." msgstr "" #. type: Plain text #: build/C/man3/btree.3:71 msgid "" "The btree access method specific data structure provided to B(3) is " "defined in the Idb.hE> include file as follows:" msgstr "" #. type: Plain text #: build/C/man3/btree.3:84 #, no-wrap msgid "" "typedef struct {\n" " unsigned long flags;\n" " unsigned int cachesize;\n" " int maxkeypage;\n" " int minkeypage;\n" " unsigned int psize;\n" " int (*compare)(const DBT *key1, const DBT *key2);\n" " size_t (*prefix)(const DBT *key1, const DBT *key2);\n" " int lorder;\n" "} BTREEINFO;\n" msgstr "" #. type: Plain text #: build/C/man3/btree.3:88 build/C/man3/hash.3:85 msgid "The elements of this structure are as follows:" msgstr "" #. type: TP #: build/C/man3/btree.3:88 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:91 build/C/man3/recno.3:97 msgid "The flag value is specified by ORing any of the following values:" msgstr "" #. type: TP #: build/C/man3/btree.3:92 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/btree.3:111 msgid "" "Permit duplicate keys in the tree, that is, permit insertion if the key to " "be inserted already exists in the tree. The default behavior, as described " "in B(3), is to overwrite a matching key when inserting a new key or " "to fail if the B flag is specified. The B flag is " "overridden by the B flag, and if the B flag is " "specified, attempts to insert duplicate keys into the tree will fail." msgstr "" #. type: Plain text #: build/C/man3/btree.3:121 msgid "" "If the database contains duplicate keys, the order of retrieval of key/data " "pairs is undefined if the I routine is used, however, I routine " "calls with the B flag set will always return the logical \"first\" " "of any group of duplicate keys." msgstr "" #. type: TP #: build/C/man3/btree.3:122 build/C/man3/hash.3:102 build/C/man3/recno.3:129 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:137 msgid "" "A suggested maximum size (in bytes) of the memory cache. This value is " "I advisory, and the access method will allocate more memory rather " "than fail. Since every search examines the root page of the tree, caching " "the most recently used pages substantially improves access time. In " "addition, physical writes are delayed as long as possible, so a moderate " "cache can reduce the number of I/O operations significantly. Obviously, " "using a cache increases (but only increases) the likelihood of corruption or " "lost data if the system crashes while a tree is being modified. If " "I is 0 (no size is specified) a default cache is used." msgstr "" #. type: TP #: build/C/man3/btree.3:137 #, no-wrap msgid "I" msgstr "" #. The maximum number of keys which will be stored on any single page. #. Because of the way the btree data structure works, #. .I maxkeypage #. must always be greater than or equal to 2. #. If #. .I maxkeypage #. is 0 (no maximum number of keys is specified) the page fill factor is #. made as large as possible (which is almost invariably what is wanted). #. type: Plain text #: build/C/man3/btree.3:149 msgid "" "The maximum number of keys which will be stored on any single page. Not " "currently implemented." msgstr "" #. type: TP #: build/C/man3/btree.3:149 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:159 msgid "" "The minimum number of keys which will be stored on any single page. This " "value is used to determine which keys will be stored on overflow pages, that " "is, if a key or data item is longer than the pagesize divided by the " "minkeypage value, it will be stored on overflow pages instead of in the page " "itself. If I is 0 (no minimum number of keys is specified) a " "value of 2 is used." msgstr "" #. type: TP #: build/C/man3/btree.3:159 build/C/man3/recno.3:138 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:167 msgid "" "Page size is the size (in bytes) of the pages used for nodes in the tree. " "The minimum page size is 512 bytes and the maximum page size is 64K. If " "I is 0 (no page size is specified) a page size is chosen based on the " "underlying file system I/O block size." msgstr "" #. type: TP #: build/C/man3/btree.3:167 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:179 msgid "" "Compare is the key comparison function. It must return an integer less " "than, equal to, or greater than zero if the first key argument is considered " "to be respectively less than, equal to, or greater than the second key " "argument. The same comparison function must be used on a given tree every " "time it is opened. If I is NULL (no comparison function is " "specified), the keys are compared lexically, with shorter keys considered " "less than longer keys." msgstr "" #. type: TP #: build/C/man3/btree.3:179 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:198 msgid "" "Prefix is the prefix comparison function. If specified, this routine must " "return the number of bytes of the second key argument which are necessary to " "determine that it is greater than the first key argument. If the keys are " "equal, the key length should be returned. Note, the usefulness of this " "routine is very data-dependent, but, in some data sets can produce " "significantly reduced tree sizes and search times. If I is NULL (no " "prefix function is specified), I no comparison function is specified, a " "default lexical comparison routine is used. If I is NULL and a " "comparison routine is specified, no prefix comparison is done." msgstr "" #. type: TP #: build/C/man3/btree.3:198 build/C/man3/hash.3:117 build/C/man3/recno.3:150 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/btree.3:206 build/C/man3/recno.3:158 msgid "" "The byte order for integers in the stored database metadata. The number " "should represent the order as an integer; for example, big endian order " "would be the number 4,321. If I is 0 (no order is specified) the " "current host order is used." msgstr "" #. type: Plain text #: build/C/man3/btree.3:217 msgid "" "If the file already exists (and the B flag is not specified), the " "values specified for the arguments I, I and I are " "ignored in favor of the values used when the tree was created." msgstr "" #. type: Plain text #: build/C/man3/btree.3:219 msgid "Forward sequential scans of a tree are from the least key to the greatest." msgstr "" #. type: Plain text #: build/C/man3/btree.3:225 msgid "" "Space freed up by deleting key/data pairs from the tree is never reclaimed, " "although it is normally made available for reuse. This means that the btree " "storage structure is grow-only. The only solutions are to avoid excessive " "deletions, or to create a fresh tree periodically from a scan of an existing " "one." msgstr "" #. type: Plain text #: build/C/man3/btree.3:231 msgid "" "Searches, insertions, and deletions in a btree will all complete in O lg " "base N where base is the average fill factor. Often, inserting ordered data " "into btrees results in a low fill factor. This implementation has been " "modified to make ordered insertion the best case, resulting in a much better " "than normal page fill factor." msgstr "" #. type: SH #: build/C/man3/btree.3:231 build/C/man3/dbopen.3:481 build/C/man3/hash.3:151 build/C/man3/mpool.3:185 build/C/man3/recno.3:210 #, no-wrap msgid "ERRORS" msgstr "" #. type: Plain text #: build/C/man3/btree.3:238 msgid "" "The I access method routines may fail and set I for any of the " "errors specified for the library routine B(3)." msgstr "" #. type: SH #: build/C/man3/btree.3:238 build/C/man3/dbopen.3:543 build/C/man3/hash.3:158 build/C/man3/recno.3:222 #, no-wrap msgid "BUGS" msgstr "" #. type: Plain text #: build/C/man3/btree.3:240 build/C/man3/recno.3:224 msgid "Only big and little endian byte order is supported." msgstr "" #. type: SH #: build/C/man3/btree.3:240 build/C/man3/dbopen.3:554 build/C/man3/hash.3:160 build/C/man3/mpool.3:230 build/C/man3/recno.3:224 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: build/C/man3/btree.3:245 msgid "B(3), B(3), B(3), B(3)" msgstr "" #. type: Plain text #: build/C/man3/btree.3:248 msgid "" "I, Douglas Comer, ACM Comput. Surv. 11, 2 (June " "1979), 121-138." msgstr "" #. type: Plain text #: build/C/man3/btree.3:252 msgid "" "I, Bayer and Unterauer, ACM Transactions on Database " "Systems, Vol. 2, 1 (March 1977), 11-26." msgstr "" #. type: Plain text #: build/C/man3/btree.3:255 msgid "" "I, " "D.E. Knuth, 1968, pp 471-480." msgstr "" #. type: SH #: build/C/man3/btree.3:255 build/C/man3/dbopen.3:562 build/C/man3/hash.3:171 build/C/man3/mpool.3:235 build/C/man3/recno.3:233 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text #: build/C/man3/btree.3:262 build/C/man3/dbopen.3:569 build/C/man3/hash.3:178 build/C/man3/mpool.3:242 build/C/man3/recno.3:240 msgid "" "This page is part of release 3.52 of the Linux I project. A " "description of the project, and information about reporting bugs, can be " "found at \\%http://www.kernel.org/doc/man-pages/." msgstr "" #. type: TH #: build/C/man3/dbopen.3:36 #, no-wrap msgid "DBOPEN" msgstr "" #. type: TH #: build/C/man3/dbopen.3:36 #, no-wrap msgid "2012-05-04" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:40 msgid "dbopen - database access methods" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:46 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" "B<#include Elimits.hE>\n" "B<#include Edb.hE>\n" "B<#include Efcntl.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:50 #, no-wrap msgid "" "BIB<, int >IB<, int >IB<, DBTYPE " ">IB<,>\n" "B< const void *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:72 msgid "" "B() is the library interface to database files. The supported file " "formats are btree, hashed and UNIX file oriented. The btree format is a " "representation of a sorted, balanced tree structure. The hashed format is " "an extensible, dynamic hashing scheme. The flat-file format is a byte " "stream file with fixed or variable length records. The formats and file " "format specific information are described in detail in their respective " "manual pages B(3), B(3) and B(3)." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:81 msgid "" "B() opens I for reading and/or writing. Files never intended " "to be preserved on disk may be created by setting the I argument to " "NULL." msgstr "" #. Three additional options may be specified by ORing #. them into the #. .I flags #. argument. #. .TP #. 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. #. .TP #. DB_SHMEM #. Place the underlying memory pool used by the database in shared #. memory. #. Necessary for concurrent access. #. .TP #. DB_TXN #. Support transactions in the database. #. The DB_LOCK and DB_SHMEM flags must be set as well. #. type: Plain text #: build/C/man3/dbopen.3:121 msgid "" "The I and I arguments are as specified to the B(2) " "routine, however, only the B, B, B, " "B, B, B, B, and B flags are " "meaningful. (Note, opening a database file B is not possible.)" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:134 msgid "" "The I argument is of type I (as defined in the " "Idb.hE> include file) and may be set to B, B, " "or B." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:143 msgid "" "The I argument is a pointer to an access method specific structure " "described in the access method's manual page. If I is NULL, each " "access method will use defaults appropriate for the system and the access " "method." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:154 msgid "" "B() returns a pointer to a I structure on success and NULL on " "error. The I structure is defined in the Idb.hE> include " "file, and contains at least the following fields:" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:170 #, no-wrap msgid "" "typedef struct {\n" " DBTYPE type;\n" " int (*close)(const DB *db);\n" " int (*del)(const DB *db, const DBT *key, unsigned int flags);\n" " int (*fd)(const DB *db);\n" " int (*get)(const DB *db, DBT *key, DBT *data,\n" " unsigned int flags);\n" " int (*put)(const DB *db, DBT *key, const DBT *data,\n" " unsigned int flags);\n" " int (*sync)(const DB *db, unsigned int flags);\n" " int (*seq)(const DB *db, DBT *key, DBT *data,\n" " unsigned int flags);\n" "} DB;\n" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:178 msgid "" "These elements describe a database type and a set of functions performing " "various actions. These functions take a pointer to a structure as returned " "by B(), and sometimes one or more pointers to key/data structures " "and a flag value." msgstr "" #. type: TP #: build/C/man3/dbopen.3:178 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:181 msgid "The type of the underlying access method (and file format)." msgstr "" #. type: TP #: build/C/man3/dbopen.3:181 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:195 msgid "" "A pointer to a routine to flush any cached information to disk, free any " "allocated resources, and close the underlying file(s). Since key/data pairs " "may be cached in memory, failing to sync the file with a I or I " "function may result in inconsistent or lost information. I routines " "return -1 on error (setting I) and 0 on success." msgstr "" #. type: TP #: build/C/man3/dbopen.3:195 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:198 msgid "A pointer to a routine to remove key/data pairs from the database." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:202 msgid "The argument I may be set to the following value:" msgstr "" #. type: TP #: build/C/man3/dbopen.3:203 build/C/man3/dbopen.3:259 build/C/man3/dbopen.3:359 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:207 msgid "" "Delete the record referenced by the cursor. The cursor must have previously " "been initialized." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:215 msgid "" "I routines return -1 on error (setting I), 0 on success, and " "1 if the specified I was not in the file." msgstr "" #. type: TP #: build/C/man3/dbopen.3:215 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:237 msgid "" "A pointer to a routine which returns a file descriptor representative of the " "underlying database. A file descriptor referencing the same file will be " "returned to all processes which call B() with the same I " "name. This file descriptor may be safely used as an argument to the " "B(2) and B(2) locking functions. The file descriptor is not " "necessarily associated with any of the underlying files used by the access " "method. No file descriptor is available for in memory databases. I " "routines return -1 on error (setting I), and the file descriptor on " "success." msgstr "" #. type: TP #: build/C/man3/dbopen.3:237 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:251 msgid "" "A pointer to a routine which is the interface for keyed retrieval from the " "database. The address and length of the data associated with the specified " "I are returned in the structure referenced by I. I routines " "return -1 on error (setting I), 0 on success, and 1 if the I was " "not in the file." msgstr "" #. type: TP #: build/C/man3/dbopen.3:251 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:254 msgid "A pointer to a routine to store key/data pairs in the database." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:258 msgid "The argument I may be set to one of the following values:" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:263 msgid "" "Replace the key/data pair referenced by the cursor. The cursor must have " "previously been initialized." msgstr "" #. type: TP #: build/C/man3/dbopen.3:263 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:274 msgid "" "Append the data immediately after the data referenced by I, creating a " "new key/data pair. The record number of the appended key/data pair is " "returned in the I structure. (Applicable only to the B " "access method.)" msgstr "" #. type: TP #: build/C/man3/dbopen.3:274 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:285 msgid "" "Insert the data immediately before the data referenced by I, creating a " "new key/data pair. The record number of the inserted key/data pair is " "returned in the I structure. (Applicable only to the B " "access method.)" msgstr "" #. type: TP #: build/C/man3/dbopen.3:285 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:288 msgid "Enter the new key/data pair only if the key does not previously exist." msgstr "" #. type: TP #: build/C/man3/dbopen.3:288 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:297 msgid "" "Store the key/data pair, setting or initializing the position of the cursor " "to reference it. (Applicable only to the B and B access " "methods.)" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:307 msgid "" "B is available only for the B and B access " "methods because it implies that the keys have an inherent order which does " "not change." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:317 msgid "" "B and B are available only for the B access " "method because they each imply that the access method is able to create new " "keys. This is true only if the keys are ordered and independent, record " "numbers for example." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:322 msgid "" "The default behavior of the I routines is to enter the new key/data " "pair, replacing any previously existing key." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:330 msgid "" "I routines return -1 on error (setting I), 0 on success, and 1 " "if the B I was set and the key already exists in the " "file." msgstr "" #. type: TP #: build/C/man3/dbopen.3:330 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:341 msgid "" "A pointer to a routine which is the interface for sequential retrieval from " "the database. The address and length of the key are returned in the " "structure referenced by I, and the address and length of the data are " "returned in the structure referenced by I." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:354 msgid "" "Sequential key/data pair retrieval may begin at any time, and the position " "of the \"cursor\" is not affected by calls to the I, I, I, or " "I routines. Modifications to the database during a sequential scan " "will be reflected in the scan, that is, records inserted behind the cursor " "will not be returned while records inserted in front of the cursor will be " "returned." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:358 msgid "The flag value B be set to one of the following values:" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:372 msgid "" "The data associated with the specified key is returned. This differs from " "the I routines in that it sets or initializes the cursor to the " "location of the key as well. (Note, for the B access method, the " "returned key is not necessarily an exact match for the specified key. The " "returned key is the smallest key greater than or equal to the specified key, " "permitting partial key matches and range searches.)" msgstr "" #. type: TP #: build/C/man3/dbopen.3:372 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:376 msgid "" "The first key/data pair of the database is returned, and the cursor is set " "or initialized to reference it." msgstr "" #. type: TP #: build/C/man3/dbopen.3:376 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:385 msgid "" "The last key/data pair of the database is returned, and the cursor is set or " "initialized to reference it. (Applicable only to the B and " "B access methods.)" msgstr "" #. type: TP #: build/C/man3/dbopen.3:385 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:391 msgid "" "Retrieve the key/data pair immediately after the cursor. If the cursor is " "not yet set, this is the same as the B flag." msgstr "" #. type: TP #: build/C/man3/dbopen.3:391 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:402 msgid "" "Retrieve the key/data pair immediately before the cursor. If the cursor is " "not yet set, this is the same as the B flag. (Applicable only to " "the B and B access methods.)" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:413 msgid "" "B and B are available only for the B and " "B access methods because they each imply that the keys have an " "inherent order which does not change." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:426 msgid "" "I routines return -1 on error (setting I), 0 on success and 1 if " "there are no key/data pairs less than or greater than the specified or " "current key. If the B access method is being used, and if the " "database file is a character special file and no complete key/data pairs are " "currently available, the I routines return 2." msgstr "" #. type: TP #: build/C/man3/dbopen.3:426 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:432 msgid "" "A pointer to a routine to flush any cached information to disk. If the " "database is in memory only, the I routine has no effect and will " "always succeed." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:434 msgid "The flag value may be set to the following value:" msgstr "" #. type: TP #: build/C/man3/dbopen.3:435 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:447 msgid "" "If the B access method is being used, this flag causes the sync " "routine to apply to the btree file which underlies the recno file, not the " "recno file itself. (See the I field of the B(3) manual page " "for more information.)" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:453 msgid "I routines return -1 on error (setting I) and 0 on success." msgstr "" #. type: SS #: build/C/man3/dbopen.3:453 #, no-wrap msgid "Key/data pairs" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:456 msgid "" "Access to all file types is based on key/data pairs. Both keys and data are " "represented by the following data structure:" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:463 #, no-wrap msgid "" "typedef struct {\n" " void *data;\n" " size_t size;\n" "} DBT;\n" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:469 msgid "The elements of the I structure are defined as follows:" msgstr "" #. type: TP #: build/C/man3/dbopen.3:469 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:472 msgid "A pointer to a byte string." msgstr "" #. type: TP #: build/C/man3/dbopen.3:472 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:475 msgid "The length of the byte string." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:481 msgid "" "Key and data byte strings may reference strings of essentially unlimited " "length although any two of them must fit into available memory at the same " "time. It should be noted that the access methods provide no guarantees " "about byte string alignment." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:491 msgid "" "The B() routine may fail and set I for any of the errors " "specified for the library routines B(2) and B(3) or the " "following:" msgstr "" #. type: TP #: build/C/man3/dbopen.3:491 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:494 msgid "A file is incorrectly formatted." msgstr "" #. type: TP #: build/C/man3/dbopen.3:494 build/C/man3/mpool.3:198 build/C/man3/recno.3:218 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:501 msgid "" "A parameter has been specified (hash function, pad byte, etc.) that is " "incompatible with the current file specification or which is not meaningful " "for the function (for example, use of the cursor without prior " "initialization) or there is a mismatch between the version number of file " "and the software." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:513 msgid "" "The I routines may fail and set I for any of the errors " "specified for the library routines B(2), B(2), B(2), " "B(3), or B(2)." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:528 msgid "" "The I, I, I and I routines may fail and set I for " "any of the errors specified for the library routines B(2), " "B(2), B(3) or B(3)." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:536 msgid "" "The I routines will fail and set I to B for in memory " "databases." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:543 msgid "" "The I routines may fail and set I for any of the errors " "specified for the library routine B(2)." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:548 msgid "" "The typedef I is a mnemonic for \"data base thang\", and was used " "because no-one could think of a reasonable name that wasn't already used." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:551 msgid "" "The file descriptor interface is a kludge and will be deleted in a future " "version of the interface." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:554 msgid "" "None of the access methods provide any form of concurrent access, locking, " "or transactions." msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:559 msgid "B(3), B(3), B(3), B(3)" msgstr "" #. type: Plain text #: build/C/man3/dbopen.3:562 msgid "" "I, Margo Seltzer, Michael " "Olson, USENIX proceedings, Winter 1992." msgstr "" #. type: TH #: build/C/man3/hash.3:36 #, no-wrap msgid "HASH" msgstr "" #. type: Plain text #: build/C/man3/hash.3:40 msgid "hash - hash database access method" msgstr "" #. type: Plain text #: build/C/man3/hash.3:62 msgid "" "The routine B(3) is the library interface to database files. One " "of the supported file formats is hash files. The general description of the " "database access methods is in B(3), this manual page describes only " "the hash specific information." msgstr "" #. type: Plain text #: build/C/man3/hash.3:64 msgid "The hash data structure is an extensible, dynamic hashing scheme." msgstr "" #. type: Plain text #: build/C/man3/hash.3:70 msgid "" "The access method specific data structure provided to B(3) is " "defined in the Idb.hE> include file as follows:" msgstr "" #. type: Plain text #: build/C/man3/hash.3:81 #, no-wrap msgid "" "typedef struct {\n" " unsigned int bsize;\n" " unsigned int ffactor;\n" " unsigned int nelem;\n" " unsigned int cachesize;\n" " uint32_t (*hash)(const void *, size_t);\n" " int lorder;\n" "} HASHINFO;\n" msgstr "" #. type: TP #: build/C/man3/hash.3:85 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/hash.3:90 msgid "" "defines the hash table bucket size, and is, by default, 256 bytes. It may " "be preferable to increase the page size for disk-resident tables and tables " "with large data items." msgstr "" #. type: TP #: build/C/man3/hash.3:90 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/hash.3:96 msgid "" "indicates a desired density within the hash table. It is an approximation " "of the number of keys allowed to accumulate in any one bucket, determining " "when the hash table grows or shrinks. The default value is 8." msgstr "" #. type: TP #: build/C/man3/hash.3:96 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/hash.3:102 msgid "" "is an estimate of the final size of the hash table. If not set or set too " "low, hash tables will expand gracefully as keys are entered, although a " "slight performance degradation may be noticed. The default value is 1." msgstr "" #. type: Plain text #: build/C/man3/hash.3:108 msgid "" "is the suggested maximum size, in bytes, of the memory cache. This value is " "I, and the access method will allocate more memory rather " "than fail." msgstr "" #. type: TP #: build/C/man3/hash.3:108 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/hash.3:117 msgid "" "is a user-defined hash function. Since no hash function performs equally " "well on all possible data, the user may find that the built-in hash function " "does poorly on a particular data set. A user-specified hash functions must " "take two arguments (a pointer to a byte string and a length) and return a " "32-bit quantity to be used as the hash value." msgstr "" #. type: Plain text #: build/C/man3/hash.3:127 msgid "" "is the byte order for integers in the stored database metadata. The number " "should represent the order as an integer; for example, big endian order " "would be the number 4,321. If I is 0 (no order is specified) the " "current host order is used. If the file already exists, the specified value " "is ignored and the value specified when the tree was created is used." msgstr "" #. type: Plain text #: build/C/man3/hash.3:139 msgid "" "If the file already exists (and the B flag is not specified), the " "values specified for I, I, I, and I are " "ignored and the values specified when the tree was created are used." msgstr "" #. type: Plain text #: build/C/man3/hash.3:144 msgid "" "If a hash function is specified, I will attempt to determine if " "the hash function specified is the same as the one with which the database " "was created, and will fail if it is not." msgstr "" #. type: Plain text #: build/C/man3/hash.3:151 msgid "" "Backward-compatible interfaces to the routines described in B(3), and " "B(3) are provided, however these interfaces are not compatible with " "previous file formats." msgstr "" #. type: Plain text #: build/C/man3/hash.3:158 msgid "" "The I access method routines may fail and set I for any of the " "errors specified for the library routine B(3)." msgstr "" #. type: Plain text #: build/C/man3/hash.3:160 msgid "Only big and little endian byte order are supported." msgstr "" #. type: Plain text #: build/C/man3/hash.3:165 msgid "B(3), B(3), B(3), B(3)" msgstr "" #. type: Plain text #: build/C/man3/hash.3:168 msgid "" "I, Per-Ake Larson, Communications of the ACM, April " "1988." msgstr "" #. type: Plain text #: build/C/man3/hash.3:171 msgid "" "I, Margo Seltzer, USENIX Proceedings, Winter " "1991." msgstr "" #. type: TH #: build/C/man3/mpool.3:36 #, no-wrap msgid "MPOOL" msgstr "" #. type: TH #: build/C/man3/mpool.3:36 #, no-wrap msgid "2012-04-26" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:40 msgid "mpool - shared memory buffer pool" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:44 #, no-wrap msgid "" "B<#include Edb.hE>\n" "B<#include Empool.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:47 #, no-wrap msgid "" "BIB<, int >IB<, pgno_t >IB<, " "pgno_t >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:51 #, no-wrap msgid "" "BIB<, void (*pgin)(void *, pgno_t, void " "*),>\n" "B< void (*>IB<)(void *, pgno_t, void *),>\n" "B< void *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:53 #, no-wrap msgid "BIB<, pgno_t *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:55 #, no-wrap msgid "" "BIB<, pgno_t >IB<, unsigned int " ">IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:57 #, no-wrap msgid "" "BIB<, void *>IB<, unsigned int " ">IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:59 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:61 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:74 msgid "" "I is the library interface intended to provide page oriented buffer " "management of files. The buffers may be shared between processes." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:95 msgid "" "The function B() initializes a memory pool. The I " "argument is the byte string used to negotiate between multiple processes " "wishing to share buffers. If the file buffers are mapped in shared memory, " "all processes using the same key will share the buffers. If I is NULL, " "the buffers are mapped into private memory. The I argument is a file " "descriptor for the underlying file, which must be seekable. If I is " "non-NULL and matches a file already being mapped, the I argument is " "ignored." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:106 msgid "" "The I argument is the size, in bytes, of the pages into which the " "file is broken up. The I argument is the maximum number of pages " "from the underlying file to cache at any one time. This value is not " "relative to the number of processes which share a file's buffers, but will " "be the largest value specified by any of the processes sharing the file." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:122 msgid "" "The B() function is intended to make transparent input and " "output processing of the pages possible. If the I function is " "specified, it is called each time a buffer is read into the memory pool from " "the backing file. If the I function is specified, it is called each " "time a buffer is written into the backing file. Both functions are called " "with the I pointer, the page number and a pointer to the page to " "being read or written." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:135 msgid "" "The function B() takes an I pointer and an address as " "arguments. If a new page can be allocated, a pointer to the page is " "returned and the page number is stored into the I address. " "Otherwise, NULL is returned and I is set." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:148 msgid "" "The function B() takes an I pointer and a page number as " "arguments. If the page exists, a pointer to the page is returned. " "Otherwise, NULL is returned and I is set. The I argument is " "not currently used." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:160 msgid "" "The function B() unpins the page referenced by I. " "I must be an address previously returned by B() or " "B(). The flag value is specified by ORing any of the following " "values:" msgstr "" #. type: TP #: build/C/man3/mpool.3:160 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:163 msgid "The page has been modified and needs to be written to the backing file." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:166 msgid "B() returns 0 on success and -1 if an error occurs." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:175 msgid "" "The function B() writes all modified pages associated with the " "I pointer to the backing file. B() returns 0 on success " "and -1 if an error occurs." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:185 msgid "" "The B() function free's up any allocated memory associated " "with the memory pool cookie. Modified pages are B written to the " "backing file. B() returns 0 on success and -1 if an error " "occurs." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:192 msgid "" "The B() function may fail and set I for any of the " "errors specified for the library routine B(3)." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:198 msgid "The B() function may fail and set I for the following:" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:201 msgid "The requested record doesn't exist." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:213 msgid "" "The B() and B() functions may fail and set I " "for any of the errors specified for the library routines B(2), " "B(2), and B(3)." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:220 msgid "" "The B() function may fail and set I for any of the " "errors specified for the library routine B(2)." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:227 msgid "" "The B() function may fail and set I for any of the " "errors specified for the library routine B(3)." msgstr "" #. type: SH #: build/C/man3/mpool.3:227 #, no-wrap msgid "CONFORMING TO" msgstr "" #. type: Plain text #: build/C/man3/mpool.3:230 msgid "Not in POSIX.1-2001. Present on the BSDs." msgstr "" #. type: Plain text #: build/C/man3/mpool.3:235 msgid "B(3), B(3), B(3), B(3)" msgstr "" #. type: TH #: build/C/man3/recno.3:36 #, no-wrap msgid "RECNO" msgstr "" #. type: Plain text #: build/C/man3/recno.3:40 msgid "recno - record number database access method" msgstr "" #. type: Plain text #: build/C/man3/recno.3:62 msgid "" "The routine B(3) is the library interface to database files. One " "of the supported file formats is record number files. The general " "description of the database access methods is in B(3), this manual " "page describes only the recno specific information." msgstr "" #. type: Plain text #: build/C/man3/recno.3:71 msgid "" "The record number data structure is either variable or fixed-length records " "stored in a flat-file format, accessed by the logical record number. The " "existence of record number five implies the existence of records one through " "four, and the deletion of record number one causes record number five to be " "renumbered to record number four, as well as the cursor, if positioned after " "record number one, to shift down one record." msgstr "" #. type: Plain text #: build/C/man3/recno.3:77 msgid "" "The recno access method specific data structure provided to B(3) is " "defined in the Idb.hE> include file as follows:" msgstr "" #. type: Plain text #: build/C/man3/recno.3:89 #, no-wrap msgid "" "typedef struct {\n" " unsigned long flags;\n" " unsigned int cachesize;\n" " unsigned int psize;\n" " int lorder;\n" " size_t reclen;\n" " unsigned char bval;\n" " char *bfname;\n" "} RECNOINFO;\n" msgstr "" #. type: Plain text #: build/C/man3/recno.3:93 msgid "The elements of this structure are defined as follows:" msgstr "" #. type: TP #: build/C/man3/recno.3:93 #, no-wrap msgid "flags" msgstr "" #. type: TP #: build/C/man3/recno.3:98 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/recno.3:109 msgid "" "The records are fixed-length, not byte delimited. The structure element " "I specifies the length of the record, and the structure element " "I is used as the pad character. Any records, inserted into the " "database, that are less than I bytes long are automatically padded." msgstr "" #. type: TP #: build/C/man3/recno.3:109 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/recno.3:122 msgid "" "In the interface specified by B(3), the sequential record retrieval " "fills in both the caller's key and data structures. If the B flag " "is specified, the I routines are not required to fill in the key " "structure. This permits applications to retrieve records at the end of " "files without reading all of the intervening records." msgstr "" #. type: TP #: build/C/man3/recno.3:122 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/recno.3:128 msgid "" "This flag requires that a snapshot of the file be taken when B(3) " "is called, instead of permitting any unmodified records to be read from the " "original file." msgstr "" #. type: Plain text #: build/C/man3/recno.3:138 msgid "" "A suggested maximum size, in bytes, of the memory cache. This value is " "B advisory, and the access method will allocate more memory rather " "than fail. If I is 0 (no size is specified) a default cache is " "used." msgstr "" #. type: Plain text #: build/C/man3/recno.3:150 msgid "" "The recno access method stores the in-memory copies of its records in a " "btree. This value is the size (in bytes) of the pages used for nodes in " "that tree. If I is 0 (no page size is specified) a page size is " "chosen based on the underlying file system I/O block size. See B(3) " "for more information." msgstr "" #. type: TP #: build/C/man3/recno.3:158 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/recno.3:161 msgid "The length of a fixed-length record." msgstr "" #. type: TP #: build/C/man3/recno.3:161 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/recno.3:169 msgid "" "The delimiting byte to be used to mark the end of a record for " "variable-length records, and the pad character for fixed-length records. If " "no value is specified, newlines (\"\\en\") are used to mark the end of " "variable-length records and fixed-length records are padded with spaces." msgstr "" #. type: TP #: build/C/man3/recno.3:169 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: build/C/man3/recno.3:179 msgid "" "The recno access method stores the in-memory copies of its records in a " "btree. If I is non-NULL, it specifies the name of the btree file, " "as if specified as the filename for a B(3) of a btree file." msgstr "" #. type: Plain text #: build/C/man3/recno.3:197 msgid "" "The data part of the key/data pair used by the I access method is the " "same as other access methods. The key is different. The I field of " "the key should be a pointer to a memory location of type I, as " "defined in th Idb.hE> include file. This type is normally the " "largest unsigned integral type available to the implementation. The I " "field of the key should be the size of that type." msgstr "" #. type: Plain text #: build/C/man3/recno.3:202 msgid "" "Because there can be no metadata associated with the underlying recno access " "method files, any changes made to the default values (e.g., fixed record " "length or byte separator value) must be explicitly specified each time the " "file is opened." msgstr "" #. type: Plain text #: build/C/man3/recno.3:210 msgid "" "In the interface specified by B(3), using the I interface to " "create a new record will cause the creation of multiple, empty records if " "the record number is more than one greater than the largest record currently " "in the database." msgstr "" #. type: Plain text #: build/C/man3/recno.3:218 msgid "" "The I access method routines may fail and set I for any of the " "errors specified for the library routine B(3) or the following:" msgstr "" #. type: Plain text #: build/C/man3/recno.3:222 msgid "" "An attempt was made to add a record to a fixed-length database that was too " "large to fit." msgstr "" #. type: Plain text #: build/C/man3/recno.3:229 msgid "B(3), B(3), B(3), B(3)" msgstr "" #. type: Plain text #: build/C/man3/recno.3:233 msgid "" "I, Michael Stonebraker, " "Heidi Stettner, Joseph Kalash, Antonin Guttman, Nadene Lynn, Memorandum " "No. UCB/ERL M82/32, May 1982." msgstr ""