Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
accidentally leave an active statement.
SQLite gets into all sorts of bad states if you don't finish or reset
all your statements -- e.g., it'll prevent you from rolling back
transactions, which means you can never do anything with the file cache
again.
|
|
|
|
|
|
|
|
Prepared statements created via this mechanism are placed into the
cache for reuse once the user is done with them. Statements won't
be reused as long as at least one proxy object still exists. This
gives us a mechanism for safe reuse of statements without having to
worry that two different pieces of code might use the same statement
object and step on each other.
Also, boost::multi_index is awesome.
|
|
execute statements and retrieve results.
This explicitly doesn't try to deal with the inherent non-threadsafety
of the sqlite statement type. That will only come up if you're trying
to reuse statements, presumably for performance, and once we're doing
that, the code that mediates reuse should ensure that only one client
has its hands on a given statement at once. (even non-threaded reuse
is dangerous!)
|
|
This will be used to implement a backend cache for the various data
that we download about packages (changelogs, screenshots, etc).
This also includes the very first Boost-based unit test in the tree.
|