TimeStamper DB Layer
====================

The following modules make up the database layer:

* ``ts_user``: Interface to user data.
* ``ts_timeline``: Interface to timeline data.
* ``ts_entry``: Interface to timeline entry data.
* ``ts_ext_data``: Interface to extended data that can be set on different
  records.
* ``ts_db_records``: Definition of data records.

The following modules and files are implementation details of the DB layer:

* ``id_counter``: Adds support for unique, sequential ID generation.
* ``ts_common``: Provides the implementation for any operations that are common
  between the different interfaces.

Philosophy
----------

The database layer should abstract all database-specific code away from the
caller. Users of the DB layer should not have to think about transactions,
locking, etc.
