NetBSD/usr.sbin/makemandb/DBSCHEMA

55 lines
2.2 KiB
Plaintext

There are three tables in the database at present:
(1) mandb:
This is the main FTS table which contains all the content from
man pages
COLUMN NAME DESCRIPTION
1. section Section number of the page
2. name The name of the page
3. name_desc The one line description from the NAME section
4. desc Contains the content from DESCRIPTION
section and any other section which
is not indexed in a separate column.
5. lib The LIBRARY section
6. return_vals RETURN VALUES section
7. env ENVIRONMENT section
8. files FILES section
9. exit_status EXIT STATUS section
10. diagnostics DIAGNOSTICS section
11. errors ERRORS section
12. md5_hash md5 hash of the man page (UNIQUE)
13. machine The machine architecture (if any) for which this page is
relevant.
(2) mandb_meta:
This table contains md5 hashes of all the indexed man
pages. This is there to make sure we do not index
the same man page twice, i.e. to prevent indexing
hardlinks.
COLUMN NAME DESCRIPTION
1. device (dev_t)Logical device number from stat(2)
2. inode (ino_t)Inode number from stat(2)
3. mtime Last modification time from stat(2)
4. file Absolute path name (UNIQUE constraint)
5. md5_hash MD5 Hash of the man page (UNIQUE)
6. id A unique integer ID for the page, which
refers to the docid column in mandb (Implicit foreign
key?) PRIMARY KEY
{device, inode} form a UNIQUE index
(3) mandb_links:
This is an index of all the hard/soft links of the man
pages. The list of the linked pages is usually obtained
from the multiple .Nm entries in the page.
COLUMN NAME DESCRIPTION
1. link The name of the hard/soft link (index)
2. target Name of the target page to which it points
3. section The section number
4. machine The machine architecture (if any) for which
the page is relevant
5. md5_hash MD5 Hash of the target man page.
6. name_desc The one line description from the NAME section