Name

btree

Synopsis

The term btree stands for “balanced tree.” It is a grow-only form of database. Lookups and insertions are fast, but deletions do not shrink the size of the database file.[9] A good description of this form of database can be found in The Art of Computer Programming, Vol. 3: Sorting and Searching, D.E. Knuth, 1968, pp. 471-480. The btree type is available only if sendmail was compiled with NEWDB defined and the Berkeley or Sleepycat db library linked (Section 3.1.2). In most cases, the hash type (hash) will perform slightly better.

Quite a few database switches are available with this database-map type. They are listed in Table 23-7.

Table 23-7. The btree database-map type K command switches

Switch

§

Description

-A

-A

Append values for duplicate keys

-a

-a

Append tag on successful match

-D

-D

Don’t use this database map if DeliveryMode=defer

-f

-f

Don’t fold keys to lowercase

-m

-m

Suppress replacement on match

-N

-N

Append a null byte to all keys

-O

-O

Never add a null byte

-o

-o

The database map is optional

-q

-q

Don’t strip quotes from key

-S

-S

Space replacement character

-T

-T

Suffix to append on temporary failure

-t

-t

Ignore temporary errors

One use for this btree type might be to look up users for whom permission is denied to send offsite email. The data source file might look like the following, and might live in the file /etc/mail/badusers.db (after makemap was run to create it):

bob    bob
ted    ted
alice  alice

A simple ...

Get Sendmail, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.