OSDN Git Service

9802450eec8d1c21fb610274b5eaa379c04ee840
[linuxjm/LDP_man-pages.git] / po4a / db / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:24+0900\n"
10 "PO-Revision-Date: 2015-01-23 22:31+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/btree.3:36
20 #, no-wrap
21 msgid "BTREE"
22 msgstr "BTREE"
23
24 #. type: TH
25 #: build/C/man3/btree.3:36 build/C/man3/hash.3:36 build/C/man3/recno.3:36
26 #, no-wrap
27 msgid "2012-04-23"
28 msgstr "2012-04-23"
29
30 #. type: TH
31 #: build/C/man3/btree.3:36 build/C/man3/dbopen.3:36 build/C/man3/hash.3:36
32 #: build/C/man3/mpool.3:36 build/C/man3/recno.3:36
33 #, no-wrap
34 msgid "Linux Programmer's Manual"
35 msgstr "Linux Programmer's Manual"
36
37 #. type: SH
38 #: build/C/man3/btree.3:38 build/C/man3/dbopen.3:38 build/C/man3/hash.3:38
39 #: build/C/man3/mpool.3:38 build/C/man3/recno.3:38
40 #, no-wrap
41 msgid "NAME"
42 msgstr "名前"
43
44 #. type: Plain text
45 #: build/C/man3/btree.3:40
46 msgid "btree - btree database access method"
47 msgstr "btree - btree データベースへのアクセスメソッド"
48
49 #. type: SH
50 #: build/C/man3/btree.3:40 build/C/man3/dbopen.3:40 build/C/man3/hash.3:40
51 #: build/C/man3/mpool.3:40 build/C/man3/recno.3:40
52 #, no-wrap
53 msgid "SYNOPSIS"
54 msgstr "書式"
55
56 #. type: Plain text
57 #: build/C/man3/btree.3:45 build/C/man3/hash.3:45 build/C/man3/recno.3:45
58 #, no-wrap
59 msgid ""
60 "B<#include E<lt>sys/types.hE<gt>\n"
61 "#include E<lt>db.hE<gt>>\n"
62 msgstr ""
63 "B<#include E<lt>sys/types.hE<gt>\n"
64 "#include E<lt>db.hE<gt>>\n"
65
66 #. type: SH
67 #: build/C/man3/btree.3:47 build/C/man3/dbopen.3:51 build/C/man3/hash.3:47
68 #: build/C/man3/mpool.3:62 build/C/man3/recno.3:47
69 #, no-wrap
70 msgid "DESCRIPTION"
71 msgstr "説明"
72
73 #. type: Plain text
74 #: build/C/man3/btree.3:54 build/C/man3/dbopen.3:58 build/C/man3/hash.3:54
75 #: build/C/man3/mpool.3:69 build/C/man3/recno.3:54
76 msgid "I<Note well>: 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<libdb> library instead."
77 msgstr ""
78 "I<大事な注意>:\n"
79 "このページは、バージョン 2.1 までの glibc が提供するインターフェースに\n"
80 "ついて説明している。バージョン 2.2 以降の glibc では、もはやこれらの\n"
81 "インターフェースは提供されていない。おそらく、このページではなく、\n"
82 "I<libdb> ライブラリが提供する API をお探しなのだろう。"
83
84 #. type: Plain text
85 #: build/C/man3/btree.3:62
86 msgid "The routine B<dbopen>(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<dbopen>(3), this manual page describes only the btree-specific information."
87 msgstr "ルーチン B<dbopen>(3)  はデータベースファイルに対するライブラリインターフェースである。 サポートされているファイルフォーマットのひとつに btree ファイルがある。 データベースへのアクセスメソッドに関する一般的な記述は B<dbopen>(3)  に書かれている。 このマニュアルページでは btree 特有の情報についてのみ記述する。"
88
89 #. type: Plain text
90 #: build/C/man3/btree.3:65
91 msgid "The btree data structure is a sorted, balanced tree structure storing associated key/data pairs."
92 msgstr "btree データ構造では、ソートされたバランスツリー構造に 互いに関連づけられたキー/データ対を格納している。"
93
94 #. type: Plain text
95 #: build/C/man3/btree.3:71
96 msgid "The btree access-method-specific data structure provided to B<dbopen>(3)  is defined in the I<E<lt>db.hE<gt>> include file as follows:"
97 msgstr "B<dbopen>(3)  に渡される btree アクセスメソッドに特有のデータ構造体は、 I<E<lt>db.hE<gt>> インクルードファイルで次のように定義されている。"
98
99 #. type: Plain text
100 #: build/C/man3/btree.3:84
101 #, no-wrap
102 msgid ""
103 "typedef struct {\n"
104 "    unsigned long flags;\n"
105 "    unsigned int  cachesize;\n"
106 "    int           maxkeypage;\n"
107 "    int           minkeypage;\n"
108 "    unsigned int  psize;\n"
109 "    int         (*compare)(const DBT *key1, const DBT *key2);\n"
110 "    size_t      (*prefix)(const DBT *key1, const DBT *key2);\n"
111 "    int           lorder;\n"
112 "} BTREEINFO;\n"
113 msgstr ""
114 "typedef struct {\n"
115 "    unsigned long flags;\n"
116 "    unsigned int  cachesize;\n"
117 "    int           maxkeypage;\n"
118 "    int           minkeypage;\n"
119 "    unsigned int  psize;\n"
120 "    int         (*compare)(const DBT *key1, const DBT *key2);\n"
121 "    size_t      (*prefix)(const DBT *key1, const DBT *key2);\n"
122 "    int           lorder;\n"
123 "} BTREEINFO;\n"
124
125 #. type: Plain text
126 #: build/C/man3/btree.3:88 build/C/man3/hash.3:85
127 msgid "The elements of this structure are as follows:"
128 msgstr "この構造体の要素を以下に示す。"
129
130 #. type: TP
131 #: build/C/man3/btree.3:88 build/C/man3/recno.3:93
132 #, no-wrap
133 msgid "I<flags>"
134 msgstr "I<flags>"
135
136 #. type: Plain text
137 #: build/C/man3/btree.3:91 build/C/man3/recno.3:97
138 msgid "The flag value is specified by ORing any of the following values:"
139 msgstr "I<flags> の値は以下の値の論理和で指定される。"
140
141 #. type: TP
142 #: build/C/man3/btree.3:92
143 #, no-wrap
144 msgid "B<R_DUP>"
145 msgstr "B<R_DUP>"
146
147 #. type: Plain text
148 #: build/C/man3/btree.3:111
149 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<dbopen>(3), is to overwrite a matching key when inserting a new key or to fail if the B<R_NOOVERWRITE> flag is specified.  The B<R_DUP> flag is overridden by the B<R_NOOVERWRITE> flag, and if the B<R_NOOVERWRITE> flag is specified, attempts to insert duplicate keys into the tree will fail."
150 msgstr "ツリーの中にキーの重複を許す。すなわちツリーの中に挿入されようとしている キーが既に存在していても、その挿入を許可する。デフォルトの動作は B<dbopen>(3)  に記述されているように、新しいキーが挿入されると一致したキーを上書きする。 あるいは B<R_NOOVERWRITE> フラグが指定されていると挿入に失敗する。 B<R_DUP> フラグは B<R_NOOVERWRITE> フラグによって上書きされる。つまり B<R_NOOVERWRITE> フラグが指定された場合、ツリーに複製キーを挿入しようとすると失敗する。"
151
152 #. type: Plain text
153 #: build/C/man3/btree.3:121
154 msgid "If the database contains duplicate keys, the order of retrieval of key/data pairs is undefined if the I<get> routine is used, however, I<seq> routine calls with the B<R_CURSOR> flag set will always return the logical \"first\" of any group of duplicate keys."
155 msgstr "データベースにキーの重複があると、 I<get> ルーチンを使った場合のキー/データ対の取得順は未定義である。それに対し、 B<R_CURSOR> フラグをセットして I<seq> ルーチンを使うと、複製キーのグループの中の 論理的に「最初」のキーを必ず返してくる。"
156
157 #. type: TP
158 #: build/C/man3/btree.3:122 build/C/man3/hash.3:102 build/C/man3/recno.3:129
159 #, no-wrap
160 msgid "I<cachesize>"
161 msgstr "I<cachesize>"
162
163 #. type: Plain text
164 #: build/C/man3/btree.3:137
165 msgid "A suggested maximum size (in bytes) of the memory cache.  This value is I<only> 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<cachesize> is 0 (no size is specified), a default cache is used."
166 msgstr "想定されるメモリキャッシュの最大サイズ (バイト単位)。 この値は I<あくまで> 参考であり、アクセスメソッドはこの値を越えたメモリの 割り当てに成功することもある。 加えて、物理的な書き込みは可能な限り遅延されるので、 キャッシュの大きさを適度にしておけば I/O 操作の回数をかなり減らすこと ができる。 あきらかにキャッシュを使うと、ツリーが変更されている途中で システムがクラッシュした場合のデータ破壊やデータロストの可能性は 増える (まあでもそれだけのこと)。 I<cachesize> が 0 (サイズが指定されていない) の場合、デフォルトのキャッシュが使われる。"
167
168 #. type: TP
169 #: build/C/man3/btree.3:137
170 #, no-wrap
171 msgid "I<maxkeypage>"
172 msgstr "I<maxkeypage>"
173
174 #.  The maximum number of keys which will be stored on any single page.
175 #.  Because of the way the btree data structure works,
176 #.  .I maxkeypage
177 #.  must always be greater than or equal to 2.
178 #.  If
179 #.  .I maxkeypage
180 #.  is 0 (no maximum number of keys is specified), the page fill factor is
181 #.  made as large as possible (which is almost invariably what is wanted).
182 #. type: Plain text
183 #: build/C/man3/btree.3:149
184 msgid "The maximum number of keys which will be stored on any single page.  Not currently implemented."
185 msgstr "単一ページに納められる最大キー数である。現在実装されていない。"
186
187 #. type: TP
188 #: build/C/man3/btree.3:149
189 #, no-wrap
190 msgid "I<minkeypage>"
191 msgstr "I<minkeypage>"
192
193 #. type: Plain text
194 #: build/C/man3/btree.3:159
195 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<minkeypage> is 0 (no minimum number of keys is specified), a value of 2 is used."
196 msgstr "単一ページに納められる最小キー数である。この値は、どのキーを オーバーフローページ に納めるか決めるのに使われる。すなわちキーまたはデータが minkeypage の値で分割されたページサイズより大きい時、そのページに納め る代わりにオーバーフローページに納めるということである。 I<minkeypage> が 0 (キーの最小値が指定されていない) の場合、値として 2 が使われる。"
197
198 #. type: TP
199 #: build/C/man3/btree.3:159 build/C/man3/recno.3:138
200 #, no-wrap
201 msgid "I<psize>"
202 msgstr "I<psize>"
203
204 #. type: Plain text
205 #: build/C/man3/btree.3:167
206 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<psize> is 0 (no page size is specified), a page size is chosen based on the underlying filesystem I/O block size."
207 msgstr "ツリーの中のノードに使われるページサイズ (バイト単位)。 最小値は 512 バイトで、最大値は 64K である。 I<psize> が 0 (ページサイズが指定されていない) の場合、 ファイルシステムの I/O ブロックサイズに基づいて決められる。"
208
209 #. type: TP
210 #: build/C/man3/btree.3:167
211 #, no-wrap
212 msgid "I<compare>"
213 msgstr "I<compare>"
214
215 #. type: Plain text
216 #: build/C/man3/btree.3:179
217 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<compare> is NULL (no comparison function is specified), the keys are compared lexically, with shorter keys considered less than longer keys."
218 msgstr "I<compare> はキーの比較関数である。 最初のキー引数に対し、二番目のキー引数が大きい場合には正の整数を、 同じ場合にはゼロを、小さい場合には負の整数を返す。 ツリーを開く際には、常に同じ比較関数が使われなければならない。 I<compare> が NULL (比較関数が指定されていない) の場合、 辞書的に比較される。短いキーは長いキーより小さいことになる。"
219
220 #. type: TP
221 #: build/C/man3/btree.3:179
222 #, no-wrap
223 msgid "I<prefix>"
224 msgstr "I<prefix>"
225
226 #. type: Plain text
227 #: build/C/man3/btree.3:198
228 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<prefix> is NULL (no prefix function is specified), I<and> no comparison function is specified, a default lexical comparison routine is used.  If I<prefix> is NULL and a comparison routine is specified, no prefix comparison is done."
229 msgstr "I<prefix> は前置比較関数である。 このルーチンは (指定された場合には)、二番目のキー引数の バイト数を返さなくてはならない。これは二番目のキー引数が 一番目のキー引数より大きいかどうか決めるのに必要である。 キーが同じ場合、キーの長さが返る。このルーチンが有用かどうかは、 データに強く依存する。しかしデータセットによっては、明らかにツリー のサイズと検索時間を減らしてくれる。 I<prefix> が NULL (prefix 関数が指定されていない) で、 I<かつ> 比較関数が指定されていないと、デフォルトの辞書比較ルーチンが使われる。 I<prefix> が NULL で比較関数が指定されている場合は、前置比較は行われない。"
230
231 #. type: TP
232 #: build/C/man3/btree.3:198 build/C/man3/hash.3:117 build/C/man3/recno.3:150
233 #, no-wrap
234 msgid "I<lorder>"
235 msgstr "I<lorder>"
236
237 #. type: Plain text
238 #: build/C/man3/btree.3:206 build/C/man3/recno.3:158
239 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<lorder> is 0 (no order is specified), the current host order is used."
240 msgstr "データベースに格納されているメタデータの整数値のバイトオーダー。 この数字は、順序を整数で表したものである。 例えばビッグエンディアンなら、この数値は 4,321 となる。 I<lorder> が 0 (指定されていない) の場合、現在のホスト で使われているバイトオーダーが使われる。"
241
242 #. type: Plain text
243 #: build/C/man3/btree.3:217
244 msgid "If the file already exists (and the B<O_TRUNC> flag is not specified), the values specified for the arguments I<flags>, I<lorder> and I<psize> are ignored in favor of the values used when the tree was created."
245 msgstr "ファイルが既に存在している (または B<O_TRUCT> フラグが指定されていない) と、 引き数 I<flag>, I<lorder>, I<psize> に指定された値は無視され、 ツリーが作られた時に使った値が用いられる。"
246
247 #. type: Plain text
248 #: build/C/man3/btree.3:219
249 msgid "Forward sequential scans of a tree are from the least key to the greatest."
250 msgstr "ツリーの前方順検索は、最小キーから最大キーに向かって行われる。"
251
252 #. type: Plain text
253 #: build/C/man3/btree.3:225
254 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."
255 msgstr "ツリーからキー/データ対が削除されることによってできたスペースは、 通常再利用できる形になっているが再利用されることは無い。 つまり brtee 記憶構造は肥大する一方である。 対策は過度の削除を避けるか、 存在するツリーを調べて定期的に新しいツリーを作るか、だけである。"
256
257 #. type: Plain text
258 #: build/C/man3/btree.3:231
259 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."
260 msgstr "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."
261
262 #. type: SH
263 #: build/C/man3/btree.3:231 build/C/man3/dbopen.3:481 build/C/man3/hash.3:151
264 #: build/C/man3/mpool.3:185 build/C/man3/recno.3:210
265 #, no-wrap
266 msgid "ERRORS"
267 msgstr "エラー"
268
269 #. type: Plain text
270 #: build/C/man3/btree.3:238
271 msgid "The I<btree> access method routines may fail and set I<errno> for any of the errors specified for the library routine B<dbopen>(3)."
272 msgstr "I<btree> アクセスメソッドルーチンは失敗すると、ライブラリルーチン B<dbopen>(3)  で定義されているエラーのいずれかを I<errno> として返す。"
273
274 #. type: SH
275 #: build/C/man3/btree.3:238 build/C/man3/dbopen.3:543 build/C/man3/hash.3:158
276 #: build/C/man3/recno.3:222
277 #, no-wrap
278 msgid "BUGS"
279 msgstr "バグ"
280
281 #. type: Plain text
282 #: build/C/man3/btree.3:240 build/C/man3/recno.3:224
283 msgid "Only big and little endian byte order is supported."
284 msgstr "バイトオーダーとしてはビッグエンディアンとリトルエンディアンのみが サポートされている。"
285
286 #. type: SH
287 #: build/C/man3/btree.3:240 build/C/man3/dbopen.3:554 build/C/man3/hash.3:160
288 #: build/C/man3/mpool.3:230 build/C/man3/recno.3:224
289 #, no-wrap
290 msgid "SEE ALSO"
291 msgstr "関連項目"
292
293 #. type: Plain text
294 #: build/C/man3/btree.3:245
295 msgid "B<dbopen>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
296 msgstr "B<dbopen>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
297
298 #. type: Plain text
299 #: build/C/man3/btree.3:248
300 msgid "I<The Ubiquitous B-tree>, Douglas Comer, ACM Comput. Surv. 11, 2 (June 1979), 121-138."
301 msgstr "I<The Ubiquitous B-tree>, Douglas Comer, ACM Comput. Surv. 11, 2 (June 1979), 121-138."
302
303 #. type: Plain text
304 #: build/C/man3/btree.3:252
305 msgid "I<Prefix B-trees>, Bayer and Unterauer, ACM Transactions on Database Systems, Vol. 2, 1 (March 1977), 11-26."
306 msgstr "I<Prefix B-trees>, Bayer and Unterauer, ACM Transactions on Database Systems, Vol. 2, 1 (March 1977), 11-26."
307
308 #. type: Plain text
309 #: build/C/man3/btree.3:255
310 msgid "I<The Art of Computer Programming Vol. 3: Sorting and Searching>, D.E. Knuth, 1968, pp 471-480."
311 msgstr "I<The Art of Computer Programming Vol. 3: Sorting and Searching>, D.E. Knuth, 1968, pp 471-480."
312
313 #. type: SH
314 #: build/C/man3/btree.3:255 build/C/man3/dbopen.3:562 build/C/man3/hash.3:171
315 #: build/C/man3/mpool.3:235 build/C/man3/recno.3:233
316 #, no-wrap
317 msgid "COLOPHON"
318 msgstr "この文書について"
319
320 #. type: Plain text
321 #: build/C/man3/btree.3:263 build/C/man3/dbopen.3:570 build/C/man3/hash.3:179
322 #: build/C/man3/mpool.3:243 build/C/man3/recno.3:241
323 msgid "This page is part of release 3.78 of the Linux I<man-pages> project.  A description of the project, information about reporting bugs, and the latest version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/."
324 msgstr ""
325 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
326 "である。プロジェクトの説明とバグ報告に関する情報は\n"
327 "http://www.kernel.org/doc/man-pages/ に書かれている。"
328
329 #. type: TH
330 #: build/C/man3/dbopen.3:36
331 #, no-wrap
332 msgid "DBOPEN"
333 msgstr "DBOPEN"
334
335 #. type: TH
336 #: build/C/man3/dbopen.3:36
337 #, no-wrap
338 msgid "2012-05-04"
339 msgstr "2012-05-04"
340
341 #. type: Plain text
342 #: build/C/man3/dbopen.3:40
343 msgid "dbopen - database access methods"
344 msgstr "dbopen - データベースアクセスメソッド"
345
346 #. type: Plain text
347 #: build/C/man3/dbopen.3:46
348 #, no-wrap
349 msgid ""
350 "B<#include E<lt>sys/types.hE<gt>>\n"
351 "B<#include E<lt>limits.hE<gt>>\n"
352 "B<#include E<lt>db.hE<gt>>\n"
353 "B<#include E<lt>fcntl.hE<gt>>\n"
354 msgstr ""
355 "B<#include E<lt>sys/types.hE<gt>>\n"
356 "B<#include E<lt>limits.hE<gt>>\n"
357 "B<#include E<lt>db.hE<gt>>\n"
358 "B<#include E<lt>fcntl.hE<gt>>\n"
359
360 #. type: Plain text
361 #: build/C/man3/dbopen.3:50
362 #, no-wrap
363 msgid ""
364 "B<DB *dbopen(const char *>I<file>B<, int >I<flags>B<, int >I<mode>B<, DBTYPE >I<type>B<,>\n"
365 "B<           const void *>I<openinfo>B<);>\n"
366 msgstr ""
367 "B<DB *dbopen(const char *>I<file>B<, int >I<flags>B<, int >I<mode>B<, DBTYPE >I<type>B<,>\n"
368 "B<           const void *>I<openinfo>B<);>\n"
369
370 #. type: Plain text
371 #: build/C/man3/dbopen.3:72
372 msgid "B<dbopen>()  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<btree>(3), B<hash>(3), and B<recno>(3)."
373 msgstr "B<dbopen>()  はデータベースファイルに対するライブラリインターフェースである。 サポートされているファイルフォーマットは btree, hash, UNIX ファイルに指向したフォーマット, の 3 つである。 btree フォーマットは、ソートされたバランスツリー構造である。 hashed フォーマットは、拡張可能な動的 hash スキームである。 フラットファイル (flat-file) フォーマットは、 固定長/可変長のレコードからなるバイトストリームファイルである。 それぞれのフォーマットと、ファイルフォーマットに特有の情報は それぞれ対応するマニュアルページ B<btree>(3), B<hash>(3), B<recno>(3)  に詳細に記述されている。"
374
375 #. type: Plain text
376 #: build/C/man3/dbopen.3:81
377 msgid "B<dbopen>()  opens I<file> for reading and/or writing.  Files never intended to be preserved on disk may be created by setting the I<file> argument to NULL."
378 msgstr "B<dbopen>()  は I<file> を読み込み (読み書き) するためにオープンする。 I<file> 引き数を NULL にすれば、 ディスク上に保存したくないファイルを作ることもできる。"
379
380 #. Three additional options may be specified by ORing
381 #. them into the
382 #. .I flags
383 #. argument.
384 #. .TP
385 #. DB_LOCK
386 #. Do the necessary locking in the database to support concurrent access.
387 #. If concurrent access isn't needed or the database is read-only this
388 #. flag should not be set, as it tends to have an associated performance
389 #. penalty.
390 #. .TP
391 #. DB_SHMEM
392 #. Place the underlying memory pool used by the database in shared
393 #. memory.
394 #. Necessary for concurrent access.
395 #. .TP
396 #. DB_TXN
397 #. Support transactions in the database.
398 #. The DB_LOCK and DB_SHMEM flags must be set as well.
399 #. type: Plain text
400 #: build/C/man3/dbopen.3:121
401 msgid "The I<flags> and I<mode> arguments are as specified to the B<open>(2)  routine, however, only the B<O_CREAT>, B<O_EXCL>, B<O_EXLOCK>, B<O_NONBLOCK>, B<O_RDONLY>, B<O_RDWR>, B<O_SHLOCK>, and B<O_TRUNC> flags are meaningful.  (Note, opening a database file B<O_WRONLY> is not possible.)"
402 msgstr "I<flags> と I<mode> 引き数は B<open>(2)  ルーチンで指定するのと同様である。ただし 意味を持つフラグは B<O_CREAT>, B<O_EXCL>, B<O_EXLOCK>, B<O_NONBLOCK>, B<O_RDONLY>, B<O_RDWR>, B<O_SHLOCK>, B<O_TRUNC> だけである。 (注意: B<O_WRONLY> でデータベースファイルを開く事は出来ない)"
403
404 #. type: Plain text
405 #: build/C/man3/dbopen.3:134
406 msgid "The I<type> argument is of type I<DBTYPE> (as defined in the I<E<lt>db.hE<gt>> include file) and may be set to B<DB_BTREE>, B<DB_HASH>, or B<DB_RECNO>."
407 msgstr "I<type> 引き数は I<DBTYPE> 型である (インクルードファイル I<E<lt>db.hE<gt>> で定義されている)。 B<DB_BTREE>, B<DB_HASH>, B<DB_RECNO> のいずれかをセットできる。"
408
409 #. type: Plain text
410 #: build/C/man3/dbopen.3:143
411 msgid "The I<openinfo> argument is a pointer to an access-method-specific structure described in the access method's manual page.  If I<openinfo> is NULL, each access method will use defaults appropriate for the system and the access method."
412 msgstr "I<openinfo> 引き数はアクセスメソッドに固有な構造体へのポインタである。 それぞれの構造体に関しては各アクセスメソッドの マニュアルページに記述されている。 I<openinfo> が NULL の場合、それぞれのアクセスメソッドとシステムとに適合した デフォルトが用いられる。"
413
414 #. type: Plain text
415 #: build/C/man3/dbopen.3:154
416 msgid "B<dbopen>()  returns a pointer to a I<DB> structure on success and NULL on error.  The I<DB> structure is defined in the I<E<lt>db.hE<gt>> include file, and contains at least the following fields:"
417 msgstr "B<dbopen>()  は、成功した場合 I<DB> 構造体へのポインタを、エラーの場合 NULL を返す。 I<DB> 構造体は I<E<lt>db.hE<gt>> インクルードファイルの中で定義されており、 少なくとも以下のようなフィールドを持っている。"
418
419 #. type: Plain text
420 #: build/C/man3/dbopen.3:170
421 #, no-wrap
422 msgid ""
423 "typedef struct {\n"
424 "    DBTYPE type;\n"
425 "    int (*close)(const DB *db);\n"
426 "    int (*del)(const DB *db, const DBT *key, unsigned int flags);\n"
427 "    int (*fd)(const DB *db);\n"
428 "    int (*get)(const DB *db, DBT *key, DBT *data,\n"
429 "               unsigned int flags);\n"
430 "    int (*put)(const DB *db, DBT *key, const DBT *data,\n"
431 "               unsigned int flags);\n"
432 "    int (*sync)(const DB *db, unsigned int flags);\n"
433 "    int (*seq)(const DB *db, DBT *key, DBT *data,\n"
434 "               unsigned int flags);\n"
435 "} DB;\n"
436 msgstr ""
437 "typedef struct {\n"
438 "    DBTYPE type;\n"
439 "    int (*close)(const DB *db);\n"
440 "    int (*del)(const DB *db, const DBT *key, unsigned int flags);\n"
441 "    int (*fd)(const DB *db);\n"
442 "    int (*get)(const DB *db, DBT *key, DBT *data,\n"
443 "               unsigned int flags);\n"
444 "    int (*put)(const DB *db, DBT *key, const DBT *data,\n"
445 "               unsigned int flags);\n"
446 "    int (*sync)(const DB *db, unsigned int flags);\n"
447 "    int (*seq)(const DB *db, DBT *key, DBT *data,\n"
448 "               unsigned int flags);\n"
449 "} DB;\n"
450
451 #. type: Plain text
452 #: build/C/man3/dbopen.3:178
453 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<dbopen>(), and sometimes one or more pointers to key/data structures and a flag value."
454 msgstr "各要素には、データベースのタイプと、 様々な動作をする関数のセットが記述されている。 これらの関数は B<dbopen>()  によって返される構造体へのポインタを引き数にとる。 キー/データ構造体へのポインタやフラグ値を取るものもある。"
455
456 #. type: TP
457 #: build/C/man3/dbopen.3:178
458 #, no-wrap
459 msgid "I<type>"
460 msgstr "I<type>"
461
462 #. type: Plain text
463 #: build/C/man3/dbopen.3:181
464 msgid "The type of the underlying access method (and file format)."
465 msgstr "用いられているアクセスメソッド (とファイルフォーマット) の型。"
466
467 #. type: TP
468 #: build/C/man3/dbopen.3:181
469 #, no-wrap
470 msgid "I<close>"
471 msgstr "I<close>"
472
473 #. type: Plain text
474 #: build/C/man3/dbopen.3:195
475 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<close> or I<sync> function may result in inconsistent or lost information.  I<close> routines return -1 on error (setting I<errno>)  and 0 on success."
476 msgstr "キャッシュされた情報をディスクに掃きだすためのルーチンへのポインタ。 割り当てられたリソースを解放し、利用したファイル(群)をクローズする。 キー/データ対がメモリにキャッシュされている場合、 I<close> や I<sync> 関数での同期に失敗すると、情報に矛盾が生じるか情報を失う可能性がある。 I<close> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、成功すると 0 を返す。"
477
478 #. type: TP
479 #: build/C/man3/dbopen.3:195
480 #, no-wrap
481 msgid "I<del>"
482 msgstr "I<del>"
483
484 #. type: Plain text
485 #: build/C/man3/dbopen.3:198
486 msgid "A pointer to a routine to remove key/data pairs from the database."
487 msgstr "データベースからキー/データ対を削除するルーチンへのポインタ。"
488
489 #. type: Plain text
490 #: build/C/man3/dbopen.3:202
491 msgid "The argument I<flag> may be set to the following value:"
492 msgstr "I<flag> 引き数は次の値がセットできる。"
493
494 #. type: TP
495 #: build/C/man3/dbopen.3:203 build/C/man3/dbopen.3:259
496 #: build/C/man3/dbopen.3:359
497 #, no-wrap
498 msgid "B<R_CURSOR>"
499 msgstr "B<R_CURSOR>"
500
501 #. type: Plain text
502 #: build/C/man3/dbopen.3:207
503 msgid "Delete the record referenced by the cursor.  The cursor must have previously been initialized."
504 msgstr "カーソル (cursor) が参照しているレコードを削除する。 カーソルは前もって初期化されていなくてはならない。"
505
506 #. type: Plain text
507 #: build/C/man3/dbopen.3:215
508 msgid "I<delete> routines return -1 on error (setting I<errno>), 0 on success, and 1 if the specified I<key> was not in the file."
509 msgstr "I<delete> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、成功すると 0 を返す。また指定の I<key> がファイル中に無い場合 1 を返す。"
510
511 #. type: TP
512 #: build/C/man3/dbopen.3:215
513 #, no-wrap
514 msgid "I<fd>"
515 msgstr "I<fd>"
516
517 #. type: Plain text
518 #: build/C/man3/dbopen.3:237
519 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<dbopen>()  with the same I<file> name.  This file descriptor may be safely used as an argument to the B<fcntl>(2)  and B<flock>(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<fd> routines return -1 on error (setting I<errno>), and the file descriptor on success."
520 msgstr "用いているデータベースのファイルデスクリプタを返すルーチン へのポインタ。 同じファイル名 I<file> で B<dbopen>()  を呼び出した全てのプロセスに対して、 そのファイルを示す単一のファイルデスクリプタが返される。 このファイルデスクリプタはロック関数 B<fcntl>(2)  と B<flock>(2)  への引き数として安全に使用できる。 このファイルデスクリプタは、必ずしもアクセスメソッドで 用いられているファイルのいずれかに関連づけられていなくても良い。 メモリ内のデータベースにはファイルデスクリプタは無い。 I<fd> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、成功するとファイルデスクリプタを返す。"
521
522 #. type: TP
523 #: build/C/man3/dbopen.3:237
524 #, no-wrap
525 msgid "I<get>"
526 msgstr "I<get>"
527
528 #. type: Plain text
529 #: build/C/man3/dbopen.3:251
530 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<key> are returned in the structure referenced by I<data>.  I<get> routines return -1 on error (setting I<errno>), 0 on success, and 1 if the I<key> was not in the file."
531 msgstr "データベースからキーを用いてデータを取り出すための ルーチンへのポインタ。 指定した I<key> に関連づけられたデータのアドレスと長さが I<data> が参照する構造体に返される。 I<get> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、成功すると 0 を返す。また I<key> がファイル中に無い場合 1 を返す。"
532
533 #. type: TP
534 #: build/C/man3/dbopen.3:251
535 #, no-wrap
536 msgid "I<put>"
537 msgstr "I<put>"
538
539 #. type: Plain text
540 #: build/C/man3/dbopen.3:254
541 msgid "A pointer to a routine to store key/data pairs in the database."
542 msgstr "キー/データ対をデータベースに納めるルーチンへのポインタ。"
543
544 #. type: Plain text
545 #: build/C/man3/dbopen.3:258
546 msgid "The argument I<flag> may be set to one of the following values:"
547 msgstr "I<flag> 引き数には次の値のうちのどれか一つがセットできる。"
548
549 #. type: Plain text
550 #: build/C/man3/dbopen.3:263
551 msgid "Replace the key/data pair referenced by the cursor.  The cursor must have previously been initialized."
552 msgstr "カーソルが参照しているキー/データ対を置き換える。 カーソルは前もって初期化されている必要がある。"
553
554 #. type: TP
555 #: build/C/man3/dbopen.3:263
556 #, no-wrap
557 msgid "B<R_IAFTER>"
558 msgstr "B<R_IAFTER>"
559
560 #. type: Plain text
561 #: build/C/man3/dbopen.3:274
562 msgid "Append the data immediately after the data referenced by I<key>, creating a new key/data pair.  The record number of the appended key/data pair is returned in the I<key> structure.  (Applicable only to the B<DB_RECNO> access method.)"
563 msgstr "I<key> で参照されるデータの直後に、 新しいキー/データ対を作ってデータを追加する。 追加されたキー/データ対のレコード番号は I<key> 構造体に返される。 (B<DB_RECNO> アクセス方法でのみ使える。)"
564
565 #. type: TP
566 #: build/C/man3/dbopen.3:274
567 #, no-wrap
568 msgid "B<R_IBEFORE>"
569 msgstr "B<R_IBEFORE>"
570
571 #. type: Plain text
572 #: build/C/man3/dbopen.3:285
573 msgid "Insert the data immediately before the data referenced by I<key>, creating a new key/data pair.  The record number of the inserted key/data pair is returned in the I<key> structure.  (Applicable only to the B<DB_RECNO> access method.)"
574 msgstr "I<key> で参照されるデータの直前に、 新しいキー/データ対を作ってデータを挿入する。 追加されたキー/データ対のレコード番号は I<key> 構造体に返される。 (B<DB_RECNO> アクセスメソッドでのみ使える。)"
575
576 #. type: TP
577 #: build/C/man3/dbopen.3:285
578 #, no-wrap
579 msgid "B<R_NOOVERWRITE>"
580 msgstr "B<R_NOOVERWRITE>"
581
582 #. type: Plain text
583 #: build/C/man3/dbopen.3:288
584 msgid "Enter the new key/data pair only if the key does not previously exist."
585 msgstr "キーがあらかじめ存在しない場合に限り、新しいキー/データ対をいれる。"
586
587 #. type: TP
588 #: build/C/man3/dbopen.3:288
589 #, no-wrap
590 msgid "B<R_SETCURSOR>"
591 msgstr "B<R_SETCURSOR>"
592
593 #. type: Plain text
594 #: build/C/man3/dbopen.3:297
595 msgid "Store the key/data pair, setting or initializing the position of the cursor to reference it.  (Applicable only to the B<DB_BTREE> and B<DB_RECNO> access methods.)"
596 msgstr "キー/データ対を納め、それを指すようにカーソル位置をセットあるいは初期 化する。 (B<DB_BTREE> と B<DB_RECNO> アクセスメソッドでのみ使える。)"
597
598 #. type: Plain text
599 #: build/C/man3/dbopen.3:307
600 msgid "B<R_SETCURSOR> is available only for the B<DB_BTREE> and B<DB_RECNO> access methods because it implies that the keys have an inherent order which does not change."
601 msgstr "B<R_SETCURSOR> は B<DB_BTREE> と B<DB_RECNO> アクセスメソッドでしか利用できない。 なぜなら B<R_SETCURSOR> を用いるには、変更される事の無い固有の順序をキー が持っていなければならないからである。"
602
603 #. type: Plain text
604 #: build/C/man3/dbopen.3:317
605 msgid "B<R_IAFTER> and B<R_IBEFORE> are available only for the B<DB_RECNO> 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."
606 msgstr "B<R_IAFTER> と B<R_IBEFORE> は B<DB_RECNO> アクセスメソッドでしか利用できない。 これらを実現するには、アクセスメソッドが 新しいキーを作れなければならないからである。 これが成立するのは、例えば、順序づけらた独立なレコード番号が キーになっているような場合だけである。"
607
608 #. type: Plain text
609 #: build/C/man3/dbopen.3:322
610 msgid "The default behavior of the I<put> routines is to enter the new key/data pair, replacing any previously existing key."
611 msgstr "I<put> ルーチンのデフォルトの動作は、新しいキー/データ対を 既に存在するキーを置き換える事て格納する動作である。"
612
613 #. type: Plain text
614 #: build/C/man3/dbopen.3:330
615 msgid "I<put> routines return -1 on error (setting I<errno>), 0 on success, and 1 if the B<R_NOOVERWRITE> I<flag> was set and the key already exists in the file."
616 msgstr "I<put> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、成功すると 0 を返す。また I<flag> に B<R_NOOVERWRITE> がセットされていてキーが既に存在する場合 1 を返す。"
617
618 #. type: TP
619 #: build/C/man3/dbopen.3:330
620 #, no-wrap
621 msgid "I<seq>"
622 msgstr "I<seq>"
623
624 #. type: Plain text
625 #: build/C/man3/dbopen.3:341
626 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<key>, and the address and length of the data are returned in the structure referenced by I<data>."
627 msgstr "データベースからシーケンシャルにデータを取り出すための ルーチンへのポインタ。 キーのアドレスと長さが I<key> が参照する構造体に返される。データのアドレスと長さが I<data> が参照する構造体に返される。"
628
629 #. type: Plain text
630 #: build/C/man3/dbopen.3:354
631 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<del>, I<get>, I<put>, or I<sync> 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."
632 msgstr "シーケンシャルなキー/データ対の取得はいつでも行える。また 「カーソル」の位置は I<del>, I<get>, I<put>, I<sync> ルーチンの呼び出しには影響されない。 シーケンシャルなスキャンの途中に行われたデータベースへの変更は スキャンに反映される。すなわち、カーソルの後ろに挿入されたレコードは 返されないが、カーソルの前に挿入されたレコードは返される。"
633
634 #. type: Plain text
635 #: build/C/man3/dbopen.3:358
636 msgid "The flag value B<must> be set to one of the following values:"
637 msgstr "フラグ値にはB<必ず>以下に示すうちの どれか一つをセットしなければならない。"
638
639 #. type: Plain text
640 #: build/C/man3/dbopen.3:372
641 msgid "The data associated with the specified key is returned.  This differs from the I<get> routines in that it sets or initializes the cursor to the location of the key as well.  (Note, for the B<DB_BTREE> 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.)"
642 msgstr "指定したキーに関連づけられたデータが返される。 I<get> ルーチンとの違いは、カーソルがキーの位置にセットあるいは 初期化される点である。 (注意: B<DB_BTREE> アクセス方法では、返されたキーが 必ずしも指定したキーに正しくマッチしないかもしれない。 返されたキーは、指定されたキーに等しいかより大きいもののうち 最小のものになる (部分キーマッチか範囲検索が許可されている場合)。)"
643
644 #. type: TP
645 #: build/C/man3/dbopen.3:372
646 #, no-wrap
647 msgid "B<R_FIRST>"
648 msgstr "B<R_FIRST>"
649
650 #. type: Plain text
651 #: build/C/man3/dbopen.3:376
652 msgid "The first key/data pair of the database is returned, and the cursor is set or initialized to reference it."
653 msgstr "データベースの最初のキー/データ対が返される。 カーソルはそれを参照するようにセットまたは初期化される。"
654
655 #. type: TP
656 #: build/C/man3/dbopen.3:376
657 #, no-wrap
658 msgid "B<R_LAST>"
659 msgstr "B<R_LAST>"
660
661 #. type: Plain text
662 #: build/C/man3/dbopen.3:385
663 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<DB_BTREE> and B<DB_RECNO> access methods.)"
664 msgstr "データベースの最後のキー/データ対が返される。カーソルはそれを参照する ようにセットまたは初期化される。 (B<DB_BTREE> と B<DB_RECNO> アクセスメソッドだけで使える。)"
665
666 #. type: TP
667 #: build/C/man3/dbopen.3:385
668 #, no-wrap
669 msgid "B<R_NEXT>"
670 msgstr "B<R_NEXT>"
671
672 #. type: Plain text
673 #: build/C/man3/dbopen.3:391
674 msgid "Retrieve the key/data pair immediately after the cursor.  If the cursor is not yet set, this is the same as the B<R_FIRST> flag."
675 msgstr "カーソル直後のキー/データ対を取得する。 カーソルがセットされていない場合は B<R_FIRST> フラグと同じ。"
676
677 #. type: TP
678 #: build/C/man3/dbopen.3:391
679 #, no-wrap
680 msgid "B<R_PREV>"
681 msgstr "B<R_PREV>"
682
683 #. type: Plain text
684 #: build/C/man3/dbopen.3:402
685 msgid "Retrieve the key/data pair immediately before the cursor.  If the cursor is not yet set, this is the same as the B<R_LAST> flag.  (Applicable only to the B<DB_BTREE> and B<DB_RECNO> access methods.)"
686 msgstr "カーソル直前のキー/データ対を取得する。 カーソルがセットされていない場合は B<R_LAST> フラグと同じ。 (B<DB_BTREE> と B<DB_RECNO> アクセスメソッドだけで使える。)"
687
688 #. type: Plain text
689 #: build/C/man3/dbopen.3:413
690 msgid "B<R_LAST> and B<R_PREV> are available only for the B<DB_BTREE> and B<DB_RECNO> access methods because they each imply that the keys have an inherent order which does not change."
691 msgstr "B<R_LAST> と B<R_PREV> は、 B<DB_BTREE> と B<DB_RECNO> アクセス方法でしか使えない。 なぜなら B<R_SETCURSOR> を用いるには、変更される事の無い固有の順序をキーが持っていなければならないからである。"
692
693 #. type: Plain text
694 #: build/C/man3/dbopen.3:426
695 msgid "I<seq> routines return -1 on error (setting I<errno>), 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<DB_RECNO> 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<seq> routines return 2."
696 msgstr "I<seq> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、 成功の場合 0 を返す。 指定したキーやカレントキーよりも大きい/小さいキー/データ対がない場合は 1 を返す。 B<DB_RECNO> アクセスメソッドを使っていて、 かつデータベースファイルが文字型のスペシャルファイルで、 完成しているキー/データ対が無い場合には、 I<seq> ルーチンは 2 を返す。"
697
698 #. type: TP
699 #: build/C/man3/dbopen.3:426
700 #, no-wrap
701 msgid "I<sync>"
702 msgstr "I<sync>"
703
704 #. type: Plain text
705 #: build/C/man3/dbopen.3:432
706 msgid "A pointer to a routine to flush any cached information to disk.  If the database is in memory only, the I<sync> routine has no effect and will always succeed."
707 msgstr "キャッシュされた情報をディスクに掃き出すルーチンへのポインタ。 データベースがメモリの中だけにある場合、 I<sync> ルーチンは何の効果もなく常に成功する。"
708
709 #. type: Plain text
710 #: build/C/man3/dbopen.3:434
711 msgid "The flag value may be set to the following value:"
712 msgstr "flag には以下の値がセットできる。"
713
714 #. type: TP
715 #: build/C/man3/dbopen.3:435
716 #, no-wrap
717 msgid "B<R_RECNOSYNC>"
718 msgstr "B<R_RECNOSYNC>"
719
720 #. type: Plain text
721 #: build/C/man3/dbopen.3:447
722 msgid "If the B<DB_RECNO> 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<bfname> field of the B<recno>(3)  manual page for more information.)"
723 msgstr "B<DB_RECNO> アクセスメソッドを使っている場合に このフラグをセットすると、 recno ファイルそのものにではなく、 そのベースになっている btree ファイルに sync が行われる。 (詳細は B<recno>(3)  マニュアルページで I<bfname> フィールドを説明している部分を参照のこと。)"
724
725 #. type: Plain text
726 #: build/C/man3/dbopen.3:453
727 msgid "I<sync> routines return -1 on error (setting I<errno>)  and 0 on success."
728 msgstr "I<sync> ルーチンはエラーの場合 -1 を返し (I<errno> をセットする)、成功すると 0 を返す。"
729
730 #. type: SS
731 #: build/C/man3/dbopen.3:453
732 #, no-wrap
733 msgid "Key/data pairs"
734 msgstr "キー/データ対"
735
736 #. type: Plain text
737 #: build/C/man3/dbopen.3:456
738 msgid "Access to all file types is based on key/data pairs.  Both keys and data are represented by the following data structure:"
739 msgstr "全てのファイルタイプにおいて、 キー/データ対をベースにしてアクセスが行われる。 キーとデータのいずれも、次のデータ構造で記述される。"
740
741 #. type: Plain text
742 #: build/C/man3/dbopen.3:463
743 #, no-wrap
744 msgid ""
745 "typedef struct {\n"
746 "    void  *data;\n"
747 "    size_t size;\n"
748 "} DBT;\n"
749 msgstr ""
750 "typedef struct {\n"
751 "    void  *data;\n"
752 "    size_t size;\n"
753 "} DBT;\n"
754
755 #. type: Plain text
756 #: build/C/man3/dbopen.3:469
757 msgid "The elements of the I<DBT> structure are defined as follows:"
758 msgstr "I<DBT> 構造体の各要素は次のように定義されている。"
759
760 #. type: TP
761 #: build/C/man3/dbopen.3:469
762 #, no-wrap
763 msgid "I<data>"
764 msgstr "I<data>"
765
766 #. type: Plain text
767 #: build/C/man3/dbopen.3:472
768 msgid "A pointer to a byte string."
769 msgstr "バイト文字列へのポインタ。"
770
771 #. type: TP
772 #: build/C/man3/dbopen.3:472
773 #, no-wrap
774 msgid "I<size>"
775 msgstr "I<size>"
776
777 #. type: Plain text
778 #: build/C/man3/dbopen.3:475
779 msgid "The length of the byte string."
780 msgstr "バイト文字列の長さ。"
781
782 #. type: Plain text
783 #: build/C/man3/dbopen.3:481
784 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."
785 msgstr "キーとデータのバイト文字列は、 基本的には無制限の長さの文字列を参照できるが、 しかしいずれも使用可能なメモリに収まっていなくてはならない。 アクセスメソッドはバイト文字列のアラインメントについては 何も保証していない事に注意すること。"
786
787 #. type: Plain text
788 #: build/C/man3/dbopen.3:491
789 msgid "The B<dbopen>()  routine may fail and set I<errno> for any of the errors specified for the library routines B<open>(2)  and B<malloc>(3)  or the following:"
790 msgstr "B<dbopen>()  ルーチンは失敗するとライブラリルーチン B<open>(2)  と B<malloc>(3)  で指定されているエラーに応じた I<errno> をセットする。あるいは以下をセットする。"
791
792 #. type: TP
793 #: build/C/man3/dbopen.3:491
794 #, no-wrap
795 msgid "B<EFTYPE>"
796 msgstr "B<[EFTYPE]>"
797
798 #. type: Plain text
799 #: build/C/man3/dbopen.3:494
800 msgid "A file is incorrectly formatted."
801 msgstr "ファイルが正しくフォーマットされていない。"
802
803 #. type: TP
804 #: build/C/man3/dbopen.3:494 build/C/man3/mpool.3:198 build/C/man3/recno.3:218
805 #, no-wrap
806 msgid "B<EINVAL>"
807 msgstr "B<EINVAL>"
808
809 #. type: Plain text
810 #: build/C/man3/dbopen.3:501
811 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."
812 msgstr ""
813 "指定したパラメータ (ハッシュ関数、バイト埋めなど) が現在のファイル仕様\n"
814 "に合っていない、パラメータが関数にとって無意味 (例えば、あらかじめ初期\n"
815 "化しないでカーソルを使うとか)、ファイルとソフトウェアのバージョンが\n"
816 "合っていない。"
817
818 #. type: Plain text
819 #: build/C/man3/dbopen.3:513
820 msgid "The I<close> routines may fail and set I<errno> for any of the errors specified for the library routines B<close>(2), B<read>(2), B<write>(2), B<free>(3), or B<fsync>(2)."
821 msgstr "I<close> ルーチンは失敗するとライブラリルーチン B<close>(2), B<read>(2), B<write>(2), B<free>(3), B<fsync>(2)  で指定されているエラーに応じた I<errno> をセットする。"
822
823 #. type: Plain text
824 #: build/C/man3/dbopen.3:528
825 msgid "The I<del>, I<get>, I<put>, and I<seq> routines may fail and set I<errno> for any of the errors specified for the library routines B<read>(2), B<write>(2), B<free>(3)  or B<malloc>(3)."
826 msgstr "I<del>, I<get>, I<put>, I<seq> ルーチンは失敗するとライブラリルーチン B<read>(2), B<write>(2), B<free>(3), B<malloc>(3)  で指定されているエラーに応じた I<errno> をセットする。"
827
828 #. type: Plain text
829 #: build/C/man3/dbopen.3:536
830 msgid "The I<fd> routines will fail and set I<errno> to B<ENOENT> for in memory databases."
831 msgstr "I<fd> ルーチンはメモリ内データベースに対し失敗すると I<errno> に B<ENOENT> をセットする。"
832
833 #. type: Plain text
834 #: build/C/man3/dbopen.3:543
835 msgid "The I<sync> routines may fail and set I<errno> for any of the errors specified for the library routine B<fsync>(2)."
836 msgstr "I<sync> ルーチンは失敗するとライブラリルーチン B<fsync>(2)  で指定されているエラーに応じた I<errno> をセットする。"
837
838 #. type: Plain text
839 #: build/C/man3/dbopen.3:548
840 msgid "The typedef I<DBT> is a mnemonic for \"data base thang\", and was used because no-one could think of a reasonable name that wasn't already used."
841 msgstr "typedef I<DBT> は ``data base thang''の略語であるが、これが使われているのは、 まだ使われていない妥当な名前が思い付かなかったためである。"
842
843 #. type: Plain text
844 #: build/C/man3/dbopen.3:551
845 msgid "The file descriptor interface is a kludge and will be deleted in a future version of the interface."
846 msgstr "ファイルデスクリプタを使ったやりとりはひどい代物であり、 将来のバージョンでは削除されるだろう。"
847
848 #. type: Plain text
849 #: build/C/man3/dbopen.3:554
850 msgid "None of the access methods provide any form of concurrent access, locking, or transactions."
851 msgstr "どのアクセスメソッドも、同時アクセス、ロック、トランザクション の仕組みは備えていない。"
852
853 #. type: Plain text
854 #: build/C/man3/dbopen.3:559
855 msgid "B<btree>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
856 msgstr "B<btree>(3), B<hash>(3), B<mpool>(3), B<recno>(3)"
857
858 #. type: Plain text
859 #: build/C/man3/dbopen.3:562
860 msgid "I<LIBTP: Portable, Modular Transactions for UNIX>, Margo Seltzer, Michael Olson, USENIX proceedings, Winter 1992."
861 msgstr "I<LIBTP: Portable, Modular Transactions for UNIX>, Margo Seltzer, Michael Olson, USENIX proceedings, Winter 1992."
862
863 #. type: TH
864 #: build/C/man3/hash.3:36
865 #, no-wrap
866 msgid "HASH"
867 msgstr "HASH"
868
869 #. type: Plain text
870 #: build/C/man3/hash.3:40
871 msgid "hash - hash database access method"
872 msgstr "hash - hash データベースへのアクセスメソッド"
873
874 #. type: Plain text
875 #: build/C/man3/hash.3:62
876 msgid "The routine B<dbopen>(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<dbopen>(3), this manual page describes only the hash-specific information."
877 msgstr "ルーチン B<dbopen>(3)  はデータベースファイルに対するライブラリインターフェースである。 サポートされているファイルフォーマットのひとつに hash ファイルがある。 データベースへのアクセスメソッドに関する一般的な記述は B<dbopen>(3)  に書かれている。 このマニュアルページでは hash 特有の情報についてのみ記述する。"
878
879 #. type: Plain text
880 #: build/C/man3/hash.3:64
881 msgid "The hash data structure is an extensible, dynamic hashing scheme."
882 msgstr "hash データ構造は、拡張可能な動的ハッシュスキームである。"
883
884 #. type: Plain text
885 #: build/C/man3/hash.3:70
886 msgid "The access-method-specific data structure provided to B<dbopen>(3)  is defined in the I<E<lt>db.hE<gt>> include file as follows:"
887 msgstr "B<dbopen>(3)  に渡される hash アクセスメソッドに特有のデータ構造体は、 I<E<lt>db.hE<gt>> インクルードファイルで以下のように定義されている。"
888
889 #. type: Plain text
890 #: build/C/man3/hash.3:81
891 #, no-wrap
892 msgid ""
893 "typedef struct {\n"
894 "    unsigned int       bsize;\n"
895 "    unsigned int       ffactor;\n"
896 "    unsigned int       nelem;\n"
897 "    unsigned int       cachesize;\n"
898 "    uint32_t         (*hash)(const void *, size_t);\n"
899 "    int         lorder;\n"
900 "} HASHINFO;\n"
901 msgstr ""
902 "typedef struct {\n"
903 "    unsigned int       bsize;\n"
904 "    unsigned int       ffactor;\n"
905 "    unsigned int       nelem;\n"
906 "    unsigned int       cachesize;\n"
907 "    uint32_t         (*hash)(const void *, size_t);\n"
908 "    int         lorder;\n"
909 "} HASHINFO;\n"
910
911 #. type: TP
912 #: build/C/man3/hash.3:85
913 #, no-wrap
914 msgid "I<bsize>"
915 msgstr "I<bsize>"
916
917 #. type: Plain text
918 #: build/C/man3/hash.3:90
919 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."
920 msgstr "hash テーブルバケット (table bucket) のサイズを定義する。 デフォルトは 256 バイトである。 ディスクに置かれるテーブルやデータアイテムが大きいテーブルでは ページサイズを大きくするほうが良いだろう。"
921
922 #. type: TP
923 #: build/C/man3/hash.3:90
924 #, no-wrap
925 msgid "I<ffactor>"
926 msgstr "I<ffactor>"
927
928 #. type: Plain text
929 #: build/C/man3/hash.3:96
930 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."
931 msgstr "ユーザーが望む hash テーブル中の密度である。 これはそれぞれのバケットに格納できるキーの概数であり、 hash テーブルを拡大・縮小を作用する。 デフォルトは 8 である。"
932
933 #. type: TP
934 #: build/C/man3/hash.3:96
935 #, no-wrap
936 msgid "I<nelem>"
937 msgstr "I<nelem>"
938
939 #. type: Plain text
940 #: build/C/man3/hash.3:102
941 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."
942 msgstr "hash テーブルの最終サイズを大まかに見積もった値である。 この値がセットされていなかったり、あまりに低くセットされていると、 hash テーブルはキーが入ってくるに応じて拡張される。 しかし少しパフォーマンスが (おそらく気付く程度に) 落ちる。 デフォルト値は 1 である。"
943
944 #. type: Plain text
945 #: build/C/man3/hash.3:108
946 msgid "is the suggested maximum size, in bytes, of the memory cache.  This value is I<only advisory>, and the access method will allocate more memory rather than fail."
947 msgstr "メモリキャッシュの最大値 (バイト単位) の参考値。 この値は B<あくまで参考であり>、 アクセスメソッドはこの値を越えたメモリの割り当てに成功することもある。"
948
949 #. type: TP
950 #: build/C/man3/hash.3:108
951 #, no-wrap
952 msgid "I<hash>"
953 msgstr "I<hash>"
954
955 #. type: Plain text
956 #: build/C/man3/hash.3:117
957 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."
958 msgstr "はユーザー定義の hash 関数である。 全てのデータに対してうまく作用する hash 関数と言うのはないから、 特定のデータセットに対しては組み込みの hash 関数では パフォーマンスが低いこともあるかもしれない。 ユーザー定義の hash 関数は二つの引数をとらなくてはならない (バイト文字 列へのポインタと、長さ)。 そして hash 値として使われる 32ビットの値を返さなくてはならない。"
959
960 #. type: Plain text
961 #: build/C/man3/hash.3:127
962 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<lorder> 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."
963 msgstr "データベースに格納されているメタデータの整数値のバイトオーダー。 この数字は、順序を整数で表したものである。 例えばビッグエンディアンなら、この数値は 4,321 となる。 I<lorder> が 0 (指定されていない)場合、現在のホスト で使われている並び順が使われる。 ファイルが既に存在する場合、指定した値は無視されツリーが作られ た時に指定されていた値が使われる。"
964
965 #. type: Plain text
966 #: build/C/man3/hash.3:139
967 msgid "If the file already exists (and the B<O_TRUNC> flag is not specified), the values specified for I<bsize>, I<ffactor>, I<lorder>, and I<nelem> are ignored and the values specified when the tree was created are used."
968 msgstr "ファイルが既に存在している (または B<O_TRUNC> フラグが指定されていない) と、 I<bsize>, I<ffactor>, I<lorder>, I<nelem> に指定された値は無視され、 ハッシュが作られた時に使った値が使われる。"
969
970 #. type: Plain text
971 #: build/C/man3/hash.3:144
972 msgid "If a hash function is specified, I<hash_open> 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."
973 msgstr "hash 関数が指定されると、 I<hash_open> はデータベースが作られた時に指定されていた hash 関数と今回指定された hash 関数が同じかどうかを調べ、 同じでない場合には失敗する。"
974
975 #. type: Plain text
976 #: build/C/man3/hash.3:151
977 msgid "Backward-compatible interfaces to the routines described in B<dbm>(3), and B<ndbm>(3)  are provided, however these interfaces are not compatible with previous file formats."
978 msgstr "B<dbm>(3), と B<ndbm>(3)  に記述されているルーチンへの過去互換を取るためのインターフェイスが 存在する。しかしこれらのインターフェイスは以前のファイルフォー マットとは互換性がない。"
979
980 #. type: Plain text
981 #: build/C/man3/hash.3:158
982 msgid "The I<hash> access method routines may fail and set I<errno> for any of the errors specified for the library routine B<dbopen>(3)."
983 msgstr "I<hash> アクセスメソッドルーチンは、失敗するとライブラリルーチン B<dbopen>(3)  で指定されているエラーに応じた I<errno> をセットする。"
984
985 #. type: Plain text
986 #: build/C/man3/hash.3:160
987 msgid "Only big and little endian byte order are supported."
988 msgstr "バイトオーダーとしてはビッグエンディアンとリトルエンディアンのみが サポートされている。"
989
990 #. type: Plain text
991 #: build/C/man3/hash.3:165
992 msgid "B<btree>(3), B<dbopen>(3), B<mpool>(3), B<recno>(3)"
993 msgstr "B<btree>(3), B<dbopen>(3), B<mpool>(3), B<recno>(3)"
994
995 #. type: Plain text
996 #: build/C/man3/hash.3:168
997 msgid "I<Dynamic Hash Tables>, Per-Ake Larson, Communications of the ACM, April 1988."
998 msgstr "I<Dynamic Hash Tables>, Per-Ake Larson, Communications of the ACM, April 1988."
999
1000 #. type: Plain text
1001 #: build/C/man3/hash.3:171
1002 msgid "I<A New Hash Package for UNIX>, Margo Seltzer, USENIX Proceedings, Winter 1991."
1003 msgstr "I<A New Hash Package for UNIX>, Margo Seltzer, USENIX Proceedings, Winter 1991."
1004
1005 #. type: TH
1006 #: build/C/man3/mpool.3:36
1007 #, no-wrap
1008 msgid "MPOOL"
1009 msgstr "MPOOL"
1010
1011 #. type: TH
1012 #: build/C/man3/mpool.3:36
1013 #, no-wrap
1014 msgid "2012-04-26"
1015 msgstr "2012-04-26"
1016
1017 #. type: Plain text
1018 #: build/C/man3/mpool.3:40
1019 msgid "mpool - shared memory buffer pool"
1020 msgstr "mpool - 共有メモリバッファプール"
1021
1022 #. type: Plain text
1023 #: build/C/man3/mpool.3:44
1024 #, no-wrap
1025 msgid ""
1026 "B<#include E<lt>db.hE<gt>>\n"
1027 "B<#include E<lt>mpool.hE<gt>>\n"
1028 msgstr ""
1029 "B<#include E<lt>db.hE<gt>>\n"
1030 "B<#include E<lt>mpool.hE<gt>>\n"
1031
1032 #. type: Plain text
1033 #: build/C/man3/mpool.3:47
1034 #, no-wrap
1035 msgid "B<MPOOL *mpool_open(DBT *>I<key>B<, int >I<fd>B<, pgno_t >I<pagesize>B<, pgno_t >I<maxcache>B<);>\n"
1036 msgstr "B<MPOOL *mpool_open(DBT *>I<key>B<, int >I<fd>B<, pgno_t >I<pagesize>B<, pgno_t >I<maxcache>B<);>\n"
1037
1038 #. type: Plain text
1039 #: build/C/man3/mpool.3:51
1040 #, no-wrap
1041 msgid ""
1042 "B<void mpool_filter(MPOOL *>I<mp>B<, void (*pgin)(void *, pgno_t, void *),>\n"
1043 "B<                  void (*>I<pgout>B<)(void *, pgno_t, void *),>\n"
1044 "B<                  void *>I<pgcookie>B<);>\n"
1045 msgstr ""
1046 "B<void mpool_filter(MPOOL *>I<mp>B<, void (*pgin)(void *, pgno_t, void *),>\n"
1047 "B<                  void (*>I<pgout>B<)(void *, pgno_t, void *),>\n"
1048 "B<                  void *>I<pgcookie>B<);>\n"
1049
1050 #. type: Plain text
1051 #: build/C/man3/mpool.3:53
1052 #, no-wrap
1053 msgid "B<void *mpool_new(MPOOL *>I<mp>B<, pgno_t *>I<pgnoaddr>B<);>\n"
1054 msgstr "B<void *mpool_new(MPOOL *>I<mp>B<, pgno_t *>I<pgnoaddr>B<);>\n"
1055
1056 #. type: Plain text
1057 #: build/C/man3/mpool.3:55
1058 #, no-wrap
1059 msgid "B<void *mpool_get(MPOOL *>I<mp>B<, pgno_t >I<pgno>B<, unsigned int >I<flags>B<);>\n"
1060 msgstr "B<void *mpool_get(MPOOL *>I<mp>B<, pgno_t >I<pgno>B<, unsigned int >I<flags>B<);>\n"
1061
1062 #. type: Plain text
1063 #: build/C/man3/mpool.3:57
1064 #, no-wrap
1065 msgid "B<int mpool_put(MPOOL *>I<mp>B<, void *>I<pgaddr>B<, unsigned int >I<flags>B<);>\n"
1066 msgstr "B<int mpool_put(MPOOL *>I<mp>B<, void *>I<pgaddr>B<, unsigned int >I<flags>B<);>\n"
1067
1068 #. type: Plain text
1069 #: build/C/man3/mpool.3:59
1070 #, no-wrap
1071 msgid "B<int mpool_sync(MPOOL *>I<mp>B<);>\n"
1072 msgstr "B<int mpool_sync(MPOOL *>I<mp>B<);>\n"
1073
1074 #. type: Plain text
1075 #: build/C/man3/mpool.3:61
1076 #, no-wrap
1077 msgid "B<int mpool_close(MPOOL *>I<mp>B<);>\n"
1078 msgstr "B<int mpool_close(MPOOL *>I<mp>B<);>\n"
1079
1080 #. type: Plain text
1081 #: build/C/man3/mpool.3:74
1082 msgid "I<Mpool> is the library interface intended to provide page oriented buffer management of files.  The buffers may be shared between processes."
1083 msgstr "I<mpool> は、ファイルに対するページ指向のバッファ管理を実装した ライブラリインターフェイスである。"
1084
1085 #. type: Plain text
1086 #: build/C/man3/mpool.3:95
1087 msgid "The function B<mpool_open>()  initializes a memory pool.  The I<key> 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<key> is NULL, the buffers are mapped into private memory.  The I<fd> argument is a file descriptor for the underlying file, which must be seekable.  If I<key> is non-NULL and matches a file already being mapped, the I<fd> argument is ignored."
1088 msgstr "関数 B<mpool_open>()  はメモリプールを初期化する。 I<key> 引数はバイト文字列であり、バッファを共有したい複数プロセス間 でのネゴシエーションに使われる。 ファイルバッファが共有メモリにマップされると、 同じキーを使うプロセスは全てバッファを共有する。 I<key> が NULL だと、バッファはプライベートなメモリに割り付けられる。 I<fd> 引数はもとになるファイルのファイルデスクリプタである。 このファイルデスクリプタはシーク可能でなくてはならない。 I<key> が NULL でなく、かつ既にマップされているファイルにマッチした場合、 I<fd> 引数は無視される。"
1089
1090 #. type: Plain text
1091 #: build/C/man3/mpool.3:106
1092 msgid "The I<pagesize> argument is the size, in bytes, of the pages into which the file is broken up.  The I<maxcache> 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."
1093 msgstr "I<pagesize> 引数はバイト単位でのページサイズであり、ファイルはこのサイズに分割される。 I<maxcache> 引数は基ファイルをキャッシュするときに用いる最大ページ数である。 この値はファイルバッファを共有しているプロセスの数には関係ないが、 ファイルを共有するプロセスが指定したうちの最大値が実際に用いられる。"
1094
1095 #. type: Plain text
1096 #: build/C/man3/mpool.3:122
1097 msgid "The B<mpool_filter>()  function is intended to make transparent input and output processing of the pages possible.  If the I<pgin> function is specified, it is called each time a buffer is read into the memory pool from the backing file.  If the I<pgout> function is specified, it is called each time a buffer is written into the backing file.  Both functions are called with the I<pgcookie> pointer, the page number and a pointer to the page to being read or written."
1098 msgstr "関数 B<mpool_filter>()  は透過的なページ入出力処理を可能にする。 関数 I<pgin> が指定されていると、 ファイルからメモリプールに読み込まれる度にこの関数が呼び出される。 関数 I<pgout> が指定されていと、 バッファからファイルに書き出される度にこの関数が呼び出される。 どちらの関数も、 I<pgcookie> ポインタ、ページ数、読み書きされるページへのポインタを引数にとる。"
1099
1100 #. type: Plain text
1101 #: build/C/man3/mpool.3:135
1102 msgid "The function B<mpool_new>()  takes an I<MPOOL> 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<pgnoaddr> address.  Otherwise, NULL is returned and I<errno> is set."
1103 msgstr "関数 B<mpool_new>()  は I<MPOOL> ポインタとアドレスを引数にとる。 新しいページが割り当て可能な場合、ページへのポインタが返され、 ページ数が I<pgnoaddr> アドレスに納められる。 割り当てが不可能な場合は NULL が返され、 I<errno> がセットされる。"
1104
1105 #. type: Plain text
1106 #: build/C/man3/mpool.3:148
1107 msgid "The function B<mpool_get>()  takes an I<MPOOL> pointer and a page number as arguments.  If the page exists, a pointer to the page is returned.  Otherwise, NULL is returned and I<errno> is set.  The I<flags> argument is not currently used."
1108 msgstr "関数 B<mpool_get>()  は I<MPOOL> ポインタとページ数を引数にとる。ページが存在していると、 ページへのポインタが返される。 存在していないと NULL が返され、 I<errno> がセットされる。 I<flags> 引き数は現在使用されていない。"
1109
1110 #. type: Plain text
1111 #: build/C/man3/mpool.3:160
1112 msgid "The function B<mpool_put>()  unpins the page referenced by I<pgaddr>.  I<pgaddr> must be an address previously returned by B<mpool_get>()  or B<mpool_new>().  The flag value is specified by ORing any of the following values:"
1113 msgstr "関数 B<mpool_put>()  は I<pgaddr> が参照するページを解放する。 I<pgaddr> は以前に B<mpool_get>()  か B<mpool_new>()  が返したアドレスでなければならない。 flag の値は以下の値の論理和で指定する。"
1114
1115 #. type: TP
1116 #: build/C/man3/mpool.3:160
1117 #, no-wrap
1118 msgid "B<MPOOL_DIRTY>"
1119 msgstr "B<MPOOL_DIRTY>"
1120
1121 #. type: Plain text
1122 #: build/C/man3/mpool.3:163
1123 msgid "The page has been modified and needs to be written to the backing file."
1124 msgstr "ページは変更されており、ファイルに書き出す必要がある。"
1125
1126 #. type: Plain text
1127 #: build/C/man3/mpool.3:166
1128 msgid "B<mpool_put>()  returns 0 on success and -1 if an error occurs."
1129 msgstr "B<mpool_put>()  は成功すると 0 を、エラーがあると -1 を返す。"
1130
1131 #. type: Plain text
1132 #: build/C/man3/mpool.3:175
1133 msgid "The function B<mpool_sync>()  writes all modified pages associated with the I<MPOOL> pointer to the backing file.  B<mpool_sync>()  returns 0 on success and -1 if an error occurs."
1134 msgstr "関数 B<mpool_sync>()  は I<MPOOL> ポインタの示すページのうち、 変更されたものを全てファイルに書き出す。 B<mpool_sync>()  は成功すると 0 を、エラーがあると -1 を返す。"
1135
1136 #. type: Plain text
1137 #: build/C/man3/mpool.3:185
1138 msgid "The B<mpool_close>()  function free's up any allocated memory associated with the memory pool cookie.  Modified pages are B<not> written to the backing file.  B<mpool_close>()  returns 0 on success and -1 if an error occurs."
1139 msgstr "関数 B<mpool_close>()  はメモリプールクッキーの示す割り当て済みのメモリを解放する。 変更されたページはファイルにB<書き出されない>。 I<mpool_close ()> は成功すると 0 を、エラーがあると -1 を返す。"
1140
1141 #. type: Plain text
1142 #: build/C/man3/mpool.3:192
1143 msgid "The B<mpool_open>()  function may fail and set I<errno> for any of the errors specified for the library routine B<malloc>(3)."
1144 msgstr "関数 B<mpool_open>()  は失敗するとライブラリルーチン B<malloc>(3)  で指定されているエラーに応じた I<errno> をセットする。"
1145
1146 #. type: Plain text
1147 #: build/C/man3/mpool.3:198
1148 msgid "The B<mpool_get>()  function may fail and set I<errno> for the following:"
1149 msgstr "関数 B<mpool_get>()  は失敗すると次のような I<errno> をセットする。"
1150
1151 #. type: Plain text
1152 #: build/C/man3/mpool.3:201
1153 msgid "The requested record doesn't exist."
1154 msgstr "要求のあったレコードは存在しない。"
1155
1156 #. type: Plain text
1157 #: build/C/man3/mpool.3:213
1158 msgid "The B<mpool_new>()  and B<mpool_get>()  functions may fail and set I<errno> for any of the errors specified for the library routines B<read>(2), B<write>(2), and B<malloc>(3)."
1159 msgstr "関数 B<mpool_new>()  と B<mpool_get>()  は失敗するとライブラリルーチン B<read>(2), B<write>(2), B<malloc>(3)  で指定されているエラーに応じた I<errno> をセットする。"
1160
1161 #. type: Plain text
1162 #: build/C/man3/mpool.3:220
1163 msgid "The B<mpool_sync>()  function may fail and set I<errno> for any of the errors specified for the library routine B<write>(2)."
1164 msgstr "関数 B<mpool_sync>()  は失敗するとライブラリルーチン B<write>(2)  で指定されているエラーに応じた I<errno> をセットする。"
1165
1166 #. type: Plain text
1167 #: build/C/man3/mpool.3:227
1168 msgid "The B<mpool_close>()  function may fail and set I<errno> for any of the errors specified for the library routine B<free>(3)."
1169 msgstr "関数 B<mpool_close>()  は失敗するとライブラリルーチン B<free>(3)  で指定されているエラーに応じた I<errno> をセットする。"
1170
1171 #. type: SH
1172 #: build/C/man3/mpool.3:227
1173 #, no-wrap
1174 msgid "CONFORMING TO"
1175 msgstr "準拠"
1176
1177 #. type: Plain text
1178 #: build/C/man3/mpool.3:230
1179 msgid "Not in POSIX.1-2001.  Present on the BSDs."
1180 msgstr "POSIX.1-2001 にはない。 BSD 系に存在する。"
1181
1182 #. type: Plain text
1183 #: build/C/man3/mpool.3:235
1184 msgid "B<btree>(3), B<dbopen>(3), B<hash>(3), B<recno>(3)"
1185 msgstr "B<btree>(3), B<dbopen>(3), B<hash>(3), B<recno>(3)"
1186
1187 #. type: TH
1188 #: build/C/man3/recno.3:36
1189 #, no-wrap
1190 msgid "RECNO"
1191 msgstr "RECNO"
1192
1193 #. type: Plain text
1194 #: build/C/man3/recno.3:40
1195 msgid "recno - record number database access method"
1196 msgstr "recno - レコード番号データベースへのアクセスメソッド"
1197
1198 #. type: Plain text
1199 #: build/C/man3/recno.3:62
1200 msgid "The routine B<dbopen>(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<dbopen>(3), this manual page describes only the recno-specific information."
1201 msgstr "ルーチン B<dbopen>(3)  はデータベースファイルに対するライブラリインターフェースである。 サポートされているファイルフォーマットの一つに、 レコード番号ファイル (record number file: recno file) がある。 データベースへのアクセスメソッドに関する一般的な記述は B<dbopen>(3), に書かれている。 このマニュアルページでは recno 特有の情報についてのみ記述する。"
1202
1203 #. type: Plain text
1204 #: build/C/man3/recno.3:71
1205 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."
1206 msgstr "レコード番号データ構造は、フラットなファイル形式に格納された 可変長/固定長レコードからなり、論理レコード番号でアクセスされる。 レコード番号 5 があれば、レコード番号 1 から 4 も存在する。 レコード番号 1 を削除すると、レコード番号 5 は 4 に付け替えられ、 カーソルも移動する。レコード番号 1 以降のものは一つ繰り上がるわけである。"
1207
1208 #. type: Plain text
1209 #: build/C/man3/recno.3:77
1210 msgid "The recno access-method-specific data structure provided to B<dbopen>(3)  is defined in the I<E<lt>db.hE<gt>> include file as follows:"
1211 msgstr "B<dbopen>(3)  で使う recno アクセスメソッドに特有のデータ構造体は、 I<E<lt>db.hE<gt>> インクルードファイルで次のように定義されている。"
1212
1213 #. type: Plain text
1214 #: build/C/man3/recno.3:89
1215 #, no-wrap
1216 msgid ""
1217 "typedef struct {\n"
1218 "    unsigned long flags;\n"
1219 "    unsigned int  cachesize;\n"
1220 "    unsigned int  psize;\n"
1221 "    int           lorder;\n"
1222 "    size_t        reclen;\n"
1223 "    unsigned char bval;\n"
1224 "    char         *bfname;\n"
1225 "} RECNOINFO;\n"
1226 msgstr ""
1227 "typedef struct {\n"
1228 "    unsigned long flags;\n"
1229 "    unsigned int  cachesize;\n"
1230 "    unsigned int  psize;\n"
1231 "    int           lorder;\n"
1232 "    size_t        reclen;\n"
1233 "    unsigned char bval;\n"
1234 "    char         *bfname;\n"
1235 "} RECNOINFO;\n"
1236
1237 #. type: Plain text
1238 #: build/C/man3/recno.3:93
1239 msgid "The elements of this structure are defined as follows:"
1240 msgstr "この構造体の要素を以下に示す。"
1241
1242 #. type: TP
1243 #: build/C/man3/recno.3:98
1244 #, no-wrap
1245 msgid "B<R_FIXEDLEN>"
1246 msgstr "B<R_FIXEDLEN>"
1247
1248 #. type: Plain text
1249 #: build/C/man3/recno.3:109
1250 msgid "The records are fixed-length, not byte delimited.  The structure element I<reclen> specifies the length of the record, and the structure element I<bval> is used as the pad character.  Any records, inserted into the database, that are less than I<reclen> bytes long are automatically padded."
1251 msgstr "レコード長が固定であり、バイト区切りではない。 構造体の要素 I<reclen> はレコードの長さを指定する。また、要素 I<bval> は埋め文字 (pad character) を指定する。 データベースに入れられたレコードの内 I<reclen> バイトに満たないものでは、残りの部分に埋め文字が自動的に入る。"
1252
1253 #. type: TP
1254 #: build/C/man3/recno.3:109
1255 #, no-wrap
1256 msgid "B<R_NOKEY>"
1257 msgstr "B<R_NOKEY>"
1258
1259 #. type: Plain text
1260 #: build/C/man3/recno.3:122
1261 msgid "In the interface specified by B<dbopen>(3), the sequential record retrieval fills in both the caller's key and data structures.  If the B<R_NOKEY> flag is specified, the I<cursor> 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."
1262 msgstr "B<dbopen>(3)  で指定されたインターフェイスでは、シーケンシャルなレコード取得は 呼び出しキーとデータ構造体の両方を埋めていく。 B<R_NOKEY> フラグが指定されていると、キー構造体を埋めるのに I<cursor> ルーチンを必要としない。 これを用いれば、アプリケーションがファイルの終りの方を取得する際に、 その途中のレコードを読まなくても済む事になる。"
1263
1264 #. type: TP
1265 #: build/C/man3/recno.3:122
1266 #, no-wrap
1267 msgid "B<R_SNAPSHOT>"
1268 msgstr "B<R_SNAPSHOT>"
1269
1270 #. type: Plain text
1271 #: build/C/man3/recno.3:128
1272 msgid "This flag requires that a snapshot of the file be taken when B<dbopen>(3)  is called, instead of permitting any unmodified records to be read from the original file."
1273 msgstr "このフラグを指定すると、 B<dbopen>(3)  の呼び出しの際、 オリジナルファイルから変更されていないレコードを読む代わりに、 ファイルの snapshot を用いる。"
1274
1275 #. type: Plain text
1276 #: build/C/man3/recno.3:138
1277 msgid "A suggested maximum size, in bytes, of the memory cache.  This value is B<only> advisory, and the access method will allocate more memory rather than fail.  If I<cachesize> is 0 (no size is specified), a default cache is used."
1278 msgstr "想定されるメモリキャッシュの最大サイズ (バイト単位)。 この値は B<あくまで> 参考であり、アクセスメソッドはこの値を越えたメモリの 割り当てに成功することもある。 I<cachesize> が 0 (あるいは指定されていない) の場合、デフォルトのキャッシュが使われる。"
1279
1280 #. type: Plain text
1281 #: build/C/man3/recno.3:150
1282 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<psize> is 0 (no page size is specified), a page size is chosen based on the underlying filesystem I/O block size.  See B<btree>(3)  for more information."
1283 msgstr "recno アクセスメソッドは、自身のレコードのコピーをメモリ内部に btree で保存している。 この値は、その btree 中のノードに対して用いられる ページサイズ (バイト単位) である。 I<psize> が 0 (あるいは指定されていない) の場合、 ファイルシステムの I/O ブロックサイズを基にして ページサイズが決められる。 詳細は B<btree>(3)  を参照。"
1284
1285 #. type: TP
1286 #: build/C/man3/recno.3:158
1287 #, no-wrap
1288 msgid "I<reclen>"
1289 msgstr "I<reclen>"
1290
1291 #. type: Plain text
1292 #: build/C/man3/recno.3:161
1293 msgid "The length of a fixed-length record."
1294 msgstr "固定レコード長の長さ。"
1295
1296 #. type: TP
1297 #: build/C/man3/recno.3:161
1298 #, no-wrap
1299 msgid "I<bval>"
1300 msgstr "I<bval>"
1301
1302 #. type: Plain text
1303 #: build/C/man3/recno.3:169
1304 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."
1305 msgstr "可変レコード長において、 レコードの終りを示す区切りバイト (区切り文字) である。 固定レコード長では埋め文字として使われる。 値が指定されていないと、 可変レコード長のレコードの終りには改行 (\"\\en\") が使われる。 固定レコード長のレコードは空白 (space) で埋められる。"
1306
1307 #. type: TP
1308 #: build/C/man3/recno.3:169
1309 #, no-wrap
1310 msgid "I<bfname>"
1311 msgstr "I<bfname>"
1312
1313 #. type: Plain text
1314 #: build/C/man3/recno.3:179
1315 msgid "The recno access method stores the in-memory copies of its records in a btree.  If I<bfname> is non-NULL, it specifies the name of the btree file, as if specified as the filename for a B<dbopen>(3)  of a btree file."
1316 msgstr "recno アクセスメソッドは、 自身のレコードのコピーをメモリ内部で btree に保存している。 I<bfname> が NULL でない場合、これは btree ファイル名 (btree ファイルを B<dbopen>(3)  する時に指定するファイル名) を指定する。"
1317
1318 #. type: Plain text
1319 #: build/C/man3/recno.3:197
1320 msgid "The data part of the key/data pair used by the I<recno> access method is the same as other access methods.  The key is different.  The I<data> field of the key should be a pointer to a memory location of type I<recno_t>, as defined in the I<E<lt>db.hE<gt>> include file.  This type is normally the largest unsigned integral type available to the implementation.  The I<size> field of the key should be the size of that type."
1321 msgstr "I<recno> アクセスメソッドで使われるキー/データ対のデータ部分は、 他のアクセスメソッドと同じである。 しかしキーは異なっている。 キーの I<data> フィールドは I<recno_t> 型の、メモリ位置へのポインタでなければならない。 I<recno_t> は I<E<lt>db.hE<gt>> インクルードファイルで定義されている。 この型は通常、その実装で利用可能な最大の符号無し整数である。 キーの I<size> フィールドはその型のサイズとなる。"
1322
1323 #. type: Plain text
1324 #: build/C/man3/recno.3:202
1325 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."
1326 msgstr "recno アクセスメソッドのファイルに関連づけられる メタデータは存在できないから、 デフォルト値 (固定レコード長やセパレータ文字など)  に対する変更はファイルを開く毎に明示的に指定しなければならない。"
1327
1328 #. type: Plain text
1329 #: build/C/man3/recno.3:210
1330 msgid "In the interface specified by B<dbopen>(3), using the I<put> 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."
1331 msgstr "B<dbopen>(3)  で指定されたインターフェイスでは、 I<put> インターフェイスを使って新しいレコードを作成するときに、 指定したレコード番号がデータベース中に存在している最大レコード番号より 一つ以上大きいと、 空のレコードが同時にできてしまう。"
1332
1333 #. type: Plain text
1334 #: build/C/man3/recno.3:218
1335 msgid "The I<recno> access method routines may fail and set I<errno> for any of the errors specified for the library routine B<dbopen>(3)  or the following:"
1336 msgstr "I<recno> アクセスメソッドルーチンは失敗すると B<dbopen>(3)  で指定されているエラーに応じた I<errno> か、 あるいは以下に示す I<errno> をセットする。"
1337
1338 #. type: Plain text
1339 #: build/C/man3/recno.3:222
1340 msgid "An attempt was made to add a record to a fixed-length database that was too large to fit."
1341 msgstr "固定長データベースにレコードを追加するとき、データが長すぎた。"
1342
1343 #. type: Plain text
1344 #: build/C/man3/recno.3:229
1345 msgid "B<btree>(3), B<dbopen>(3), B<hash>(3), B<mpool>(3)"
1346 msgstr "B<btree>(3), B<dbopen>(3), B<hash>(3), B<mpool>(3)"
1347
1348 #. type: Plain text
1349 #: build/C/man3/recno.3:233
1350 msgid "I<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."
1351 msgstr "I<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."