Database backends - specification and documentation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Database backends - specification and documentation

Harald Barth-2

I must admit that I am _very_ confused about how to select database
backends.

There is one set of how things are named when you run configure and
configure has both the --disable-X-db and the --without-X syntaxes
depending on X. Then you have the --with-db-type-preference as well.

For each possible database backend I'd like to know

1. A long and descriptive name of the database backend,
   preferably with a reference where information can
   be found about it

2. How to write in configue to turn it on and off. Preferably there
   is some consistency in the naming. configure --help says today
   (...)
     --disable-mdb-db        if you don't want LMDB
   (...)
     --with-db-type-preference=list
                          specify HDB backend DB type preference as
                          whitespace-separated list of db1, db3, lmdb, and/or
                          sqlite
   So is it mdb with or without l?
 

3. The name of the HAVE_XX flag in config.h

4. The name which then shows up in the output of kdc --builtin-hdb

5. The corresponding database type name in
   [kdc] database = { dbname = XX:foo }

6. Document what --with-db-type-preference is supposed to change.

7. What default filenames are made in localstatedir for each of the
   databases and are any suffixes added to what I specify in
   the config file (the dbame foo above)?

Without this it't very hard to get what you want or even know what you
want ;-)

Example:

I configured with:

../heimdal-7.5.0/configure --with-libintl --prefix=/usr/heimdal-7.5.0 --disable-kcm --with-openssl --disable-otp --enable-pthread-support --with-readline --enable-digest --with-ipv6 --enable-kx509 --without-openldap --enable-pk-init --with-x --localstatedir=/var/heimdal --disable-silent-rules --disable-ndbm-db --enable-lmdb-db --without-berkeley-db  --without-sqlite3 --with-db-type-preference="lmdb"

I got:

#  /usr/heimdal-7.5.0/libexec/kdc --builtin-hdb
builtin hdb backends: mdb:, lmdb:, keytab:, sqlite:

mdb? lmdb? are these synonyms?
I did say --without-sqlite3 and did get sqlite, is that correct?
What is the keytab:?

If I start the kdc it makes a file with .mdb suffix, so now
did I get what I wanted?

Then when I specify to configure --with-XX and configure can not find
XX on the system I compile on, I would prefer an error istead of
an silent ommission of that database type.

Without this, the amount of "magic" to make a KDC is quite high.

Harald.