1
- turn transaction in to basic_transaction and create transaction, exclusive_transaction and perhaps recursive_transaction?
2
- expand sqlite_error - perhaps use boost::system_error (see boost/asio/error.hpp for an example of extending system_error)
3
- see if I can #inlcude sqlite3.h into an "impl" namespace, which would free up sqlite3 s a symbol