Annotation of GNUtools/libg++/libio/dbz/dbz.1, revision 1.1.1.1

1.1       root        1: .TH DBZ 1 "11 Feb 1992"
                      2: .BY "C News"
                      3: .SH NAME
                      4: dbz \- operate on dbz databases of text
                      5: .SH SYNOPSIS
                      6: .B dbz
                      7: [
                      8: .BR \- { axmc }
                      9: ] [
                     10: .B \-t
                     11: c
                     12: ] [
                     13: .B \-l
                     14: length
                     15: ] [
                     16: .BR \- { qiue }
                     17: ] [
                     18: .B \-f
                     19: old
                     20: ] [
                     21: .B \-p
                     22: parms
                     23: ] database file ...
                     24: .SH DESCRIPTION
                     25: .I Dbz
                     26: is a shell-level interface to the
                     27: .IR dbz (3z)
                     28: database routines for indexed access to a text file.
                     29: .PP
                     30: The
                     31: .I database
                     32: file must be a text file,
                     33: one line per database record,
                     34: with the key the first field on the line.
                     35: The
                     36: .B \-t
                     37: option sets the field-separator character; the default is tab.
                     38: Setting the separator character to NUL (with
                     39: .BR "\-t\ ''" )
                     40: makes the whole line the key.
                     41: Lines must not exceed 1023 bytes in length including the newline;
                     42: this limit can be increased with the
                     43: .B \-l
                     44: option.
                     45: The limitations and restrictions of
                     46: .IR dbz (3z)
                     47: must also be observed;
                     48: in particular, it remains the user's responsibility to ensure that
                     49: no attempt is made to store two entries (whether identical or not)
                     50: with the same key.
                     51: .PP
                     52: In the absence of options,
                     53: .I dbz
                     54: creates a
                     55: .IR dbz (3z)
                     56: index for the database;
                     57: the index comprises files
                     58: .IB database .pag
                     59: and
                     60: .IB database .dir
                     61: in the same directory.
                     62: Any previous index is silently overwritten.
                     63: The
                     64: .BR \-a ,
                     65: .BR \-x ,
                     66: .BR \-m ,
                     67: and
                     68: .B \-c
                     69: options specify other operations.
                     70: .PP
                     71: With
                     72: .BR \-a ,
                     73: .I dbz
                     74: appends lines from the
                     75: .IR file (s)
                     76: (standard input if none)
                     77: to the database, updating both the
                     78: text file and the indexes.
                     79: .PP
                     80: With
                     81: .BR \-x ,
                     82: .I dbz
                     83: reads keys from the
                     84: .IR file (s)
                     85: (standard input if none)
                     86: and prints (on standard output) the corresponding lines, if any,
                     87: from the database.
                     88: The input is in the form of database lines, although only the keys are
                     89: significant.
                     90: The
                     91: .B \-q
                     92: option makes
                     93: .B \-x
                     94: print the input lines whose keys are found instead of the database
                     95: lines; this is somewhat faster.
                     96: .PP
                     97: With
                     98: .BR \-m ,
                     99: operation is the same as for
                    100: .B \-x
                    101: except that the keys which are \fInot\fR present in the database are printed.
                    102: .PP
                    103: With
                    104: .BR \-c ,
                    105: .I dbz
                    106: checks the database for internal consistency.
                    107: The
                    108: .B \-q
                    109: option causes this check to be done more quickly but less thoroughly
                    110: (each key is looked up in the index, but no check is made to be sure
                    111: that the index entry points to the right place).
                    112: .PP
                    113: The
                    114: .B \-i
                    115: option suppresses the use of
                    116: .IR dbz (3z)'s
                    117: .I incore
                    118: facility.
                    119: This makes accesses slower, but keeps the files current
                    120: during updating
                    121: and reduces
                    122: startup/shutdown overhead.
                    123: .PP
                    124: Normally,
                    125: .I dbz
                    126: checks whether a key is already in the database before adding it.
                    127: The
                    128: .B \-u
                    129: option suppresses this check, speeding things up at the expense of safety.
                    130: .PP
                    131: A new index is normally created with default size,
                    132: case mapping, and tagging.
                    133: The default size is right for 90-100,000 records.
                    134: The default case mapping is right for RFC822 message-ids.
                    135: See
                    136: .IR dbz (3z)
                    137: for what tagging is about.
                    138: (Note, these defaults can be changed when
                    139: .IR dbz (3z)
                    140: is installed.)
                    141: .PP
                    142: If the
                    143: .B \-f
                    144: option is given,
                    145: size, case mapping, and tagging
                    146: are instead initialized based on the
                    147: database
                    148: .IR old .
                    149: This is mostly useful when
                    150: creating a new generation of an existing database.
                    151: (See the description of
                    152: .I dbzagain
                    153: in
                    154: .IR dbz (3z)
                    155: for details.)
                    156: .PP
                    157: If the
                    158: .B \-p
                    159: option is given, the
                    160: .I parms
                    161: string specifies the size, case mapping, and tagging.
                    162: If
                    163: .I parms
                    164: is a single decimal number,
                    165: that is taken as the expected number of records
                    166: in the index, with case mapping and tagging defaulted.
                    167: Alternatively,
                    168: .I parms
                    169: can be three fields\(ema decimal number, a case-mapping code character, and a
                    170: hexadecimal tag mask\(emseparated by white space.
                    171: The decimal number is, again, the expected number of records;
                    172: 0 means ``use the default''.
                    173: See
                    174: .IR dbz (3z)
                    175: for possible choices of case-mapping code,
                    176: but in particular,
                    177: .B 0
                    178: means ``no case mapping''.
                    179: See
                    180: .IR dbz (3z)
                    181: for details on tag masks;
                    182: 0 means ``use the default''.
                    183: .PP
                    184: If the
                    185: .B \-e
                    186: option is given, the decimal number in
                    187: .B \-p
                    188: is taken to be the exact table size, not the expected number of records,
                    189: and invocation of
                    190: .I dbzsize
                    191: (see
                    192: .IR dbz (3z))
                    193: to predict a good size for that number of records is suppressed.
                    194: .PP
                    195: The
                    196: .B \&.pag
                    197: file is normally about 6 bytes per record (based on the estimate given to
                    198: .B \-p
                    199: or the previous history of the
                    200: .B \-f
                    201: database).
                    202: The
                    203: .B \&.dir
                    204: file is tiny.
                    205: .SH SEE ALSO
                    206: dbz(3z)
                    207: .SH HISTORY
                    208: Written at U of Toronto by Henry Spencer, for the C News project.
                    209: See
                    210: .IR dbz (3z)
                    211: for the history of the underlying database routines.
                    212: .SH BUGS
                    213: There are a number of undocumented options with obscure effects,
                    214: meant for debugging and regression testing of
                    215: .IR dbz (3z).
                    216: .PP
                    217: Permissions for the index files probably ought to be taken from those
                    218: of the base file.
                    219: .PP
                    220: The line-length limit is a blemish, alleviated only slightly by
                    221: .BR \-l .

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.