243
210
to read some term.</p>
246
<p><c>{file_error, FileName, Reason2}</c>. See
247
<c>file(3)</c> for an explanation of <c>Reason2</c>.</p>
213
<p><c>{file_error, FileName, file:posix()}</c>. See
214
<c>file(3)</c> for an explanation of <c>file:posix()</c>.</p>
250
<p><c>{premature_eof, FileName}</c>. End-of-file was
217
<p><c>{premature_eof, FileName}</c>. End-of-file was
251
218
encountered inside some binary term.</p>
254
<p><em>Types</em></p>
257
FileName = file_name()
258
FileNames = [FileName]
259
ICommand = read | close
260
IReply = end_of_input | {end_of_input, Value} | {[Object], Infun} | InputReply
261
Infun = fun(ICommand) -> IReply
262
Input = FileNames | Infun
264
KeyPos = int() > 0 | [int() > 0]
265
OCommand = {value, Value} | [Object] | close
266
OReply = Outfun | OutputReply
267
Object = Term | Binary
268
Outfun = fun(OCommand) -> OReply
269
Output = FileName | Outfun
225
<name name="file_name"/><br/>
228
<name name="file_names"/><br/>
231
<name name="i_command"/><br/>
234
<name name="i_reply"/><br/>
237
<name name="infun"/><br/>
240
<name name="input"/><br/>
243
<name name="input_reply"/><br/>
246
<name name="o_command"/><br/>
249
<name name="o_reply"/><br/>
252
<name name="object"/><br/>
255
<name name="outfun"/><br/>
258
<name name="output"/><br/>
261
<name name="output_reply"/><br/>
264
<name name="value"/><br/>
267
<name name="options"/><br/>
270
<name name="option"/><br/>
273
<name name="format"/><br/>
276
<name name="format_fun"/><br/>
279
<name name="header_length"/><br/>
282
<name name="key_pos"/><br/>
285
<name name="no_files"/><br/>
288
<name name="order"/><br/>
291
<name name="order_fun"/><br/>
294
<name name="size"/><br/>
297
<name name="tmp_directory"/><br/>
300
<name name="reason"/><br/>
276
<name>sort(FileName) -> Reply</name>
277
<name>sort(Input, Output) -> Reply</name>
278
<name>sort(Input, Output, Options) -> Reply</name>
279
<fsummary>Sort terms on files.</fsummary>
281
<v>Reply = ok | {error, Reason} | InputReply | OutputReply</v>
284
<p>Sorts terms on files.
286
<p><c>sort(FileName)</c> is equivalent to
287
<c>sort([FileName], FileName)</c>.
289
<p><c>sort(Input, Output)</c> is equivalent to
290
<c>sort(Input, Output, [])</c>.
296
<name>keysort(KeyPos, FileName) -> Reply</name>
297
<name>keysort(KeyPos, Input, Output) -> Reply</name>
298
<name>keysort(KeyPos, Input, Output, Options) -> Reply</name>
299
<fsummary>Sort terms on files by key.</fsummary>
301
<v>Reply = ok | {error, Reason} | InputReply | OutputReply</v>
306
<name name="sort" arity="1"/>
307
<fsummary>Sort terms on files.</fsummary>
309
<p>Sorts terms on files. <c>sort(FileName)</c> is equivalent
310
to <c>sort([FileName], FileName)</c>.</p>
314
<name name="sort" arity="2"/>
315
<name name="sort" arity="3"/>
316
<fsummary>Sort terms on files.</fsummary>
318
<p>Sorts terms on files. <c>sort(Input, Output)</c> is
319
equivalent to <c>sort(Input, Output, [])</c>.</p>
323
<name name="keysort" arity="2"/>
324
<fsummary>Sort terms on files by key.</fsummary>
326
<p>Sorts tuples on files. <c>keysort(N, FileName)</c> is
327
equivalent to <c>keysort(N, [FileName], FileName)</c>.</p>
331
<name name="keysort" arity="3"/>
332
<name name="keysort" arity="4"/>
333
<fsummary>Sort terms on files by key.</fsummary>
304
335
<p>Sorts tuples on files. The sort is performed on the
305
element(s) mentioned in <c>KeyPos</c>. If two tuples
306
compare equal (<c>==</c>) on one element, next element according to
307
<c>KeyPos</c> is compared. The sort is stable.
309
<p><c>keysort(N, FileName)</c> is equivalent to
310
<c>keysort(N, [FileName], FileName)</c>.
336
element(s) mentioned in <c><anno>KeyPos</anno></c>. If two
337
tuples compare equal (<c>==</c>) on one element, next
338
element according to <c><anno>KeyPos</anno></c>
339
is compared. The sort is stable.</p>
312
340
<p><c>keysort(N, Input, Output)</c> is equivalent to
313
<c>keysort(N, Input, Output, [])</c>.
341
<c>keysort(N, Input, Output, [])</c>.</p>
319
<name>merge(FileNames, Output) -> Reply</name>
320
<name>merge(FileNames, Output, Options) -> Reply</name>
345
<name name="merge" arity="2"/>
346
<name name="merge" arity="3"/>
321
347
<fsummary>Merge terms on files.</fsummary>
323
<v>Reply = ok | {error, Reason} | OutputReply</v>
326
349
<p>Merges terms on files. Each input file is assumed to be
329
351
<p><c>merge(FileNames, Output)</c> is equivalent to
330
<c>merge(FileNames, Output, [])</c>.
352
<c>merge(FileNames, Output, [])</c>.</p>
335
<name>keymerge(KeyPos, FileNames, Output) -> Reply</name>
336
<name>keymerge(KeyPos, FileNames, Output, Options) -> Reply</name>
356
<name name="keymerge" arity="3"/>
357
<name name="keymerge" arity="4"/>
337
358
<fsummary>Merge terms on files by key.</fsummary>
339
<v>Reply = ok | {error, Reason} | OutputReply</v>
342
360
<p>Merges tuples on files. Each input file is assumed to be
361
sorted on key(s).</p>
345
362
<p><c>keymerge(KeyPos, FileNames, Output)</c> is equivalent
346
to <c>keymerge(KeyPos, FileNames, Output, [])</c>.
363
to <c>keymerge(KeyPos, FileNames, Output, [])</c>.</p>
352
<name>check(FileName) -> Reply</name>
353
<name>check(FileNames, Options) -> Reply</name>
367
<name name="check" arity="1"/>
368
<name name="check" arity="2"/>
354
369
<fsummary>Check whether terms on files are sorted.</fsummary>
356
<v>Reply = {ok, [Result]} | {error, Reason}</v>
357
<v>Result = {FileName, TermPosition, Term}</v>
358
<v>TermPosition = int() > 1</v>
361
371
<p>Checks files for sortedness. If a file is not sorted, the
362
372
first out-of-order element is returned. The first term on a
373
file has position 1.</p>
365
374
<p><c>check(FileName)</c> is equivalent to
366
<c>check([FileName], [])</c>.
375
<c>check([FileName], [])</c>.</p>
371
<name>keycheck(KeyPos, FileName) -> CheckReply</name>
372
<name>keycheck(KeyPos, FileNames, Options) -> Reply</name>
379
<name name="keycheck" arity="2"/>
380
<name name="keycheck" arity="3"/>
373
381
<fsummary>Check whether terms on files are sorted by key.</fsummary>
375
<v>Reply = {ok, [Result]} | {error, Reason}</v>
376
<v>Result = {FileName, TermPosition, Term}</v>
377
<v>TermPosition = int() > 1</v>
380
383
<p>Checks files for sortedness. If a file is not sorted, the
381
384
first out-of-order element is returned. The first term on a
385
file has position 1.</p>
384
386
<p><c>keycheck(KeyPos, FileName)</c> is equivalent
385
to <c>keycheck(KeyPos, [FileName], [])</c>.
387
to <c>keycheck(KeyPos, [FileName], [])</c>.</p>