libdballe
9.11
|
Precompiled queries to manipulate the lev_tr table. More...
#include <levtr.h>
Public Member Functions | |
LevTr (v7::Transaction &tr) | |
void | clear_cache () |
Invalidate the LevTrEntry cache. More... | |
virtual void | prefetch_ids (Tracer<> &trc, const std::set< int > &ids)=0 |
Given a set of IDs, load LevTr information for them and add it to the cache. | |
impl::msg::Context * | to_msg (Tracer<> &trc, int id, impl::Message &msg) |
Get/create a Context in the Msg for this level/timerange. More... | |
const LevTrEntry & | lookup_cache (int id) |
Lookup a LevTr entry from the cache, throwing an exception if it is not found. | |
virtual const LevTrEntry * | lookup_id (Tracer<> &trc, int id)=0 |
Look up a LevTr from the database given its ID. | |
virtual int | obtain_id (Tracer<> &trc, const LevTrEntry &desc)=0 |
Look up a LevTr from the database given its description. More... | |
void | dump (FILE *out) |
Dump the entire contents of the table to an output stream. | |
Protected Member Functions | |
virtual void | _dump (std::function< void(int, const Level &, const Trange &)> out)=0 |
Protected Attributes | |
v7::Transaction & | tr |
LevTrCache | cache |
Precompiled queries to manipulate the lev_tr table.
void dballe::db::v7::LevTr::clear_cache | ( | ) |
Invalidate the LevTrEntry cache.
Further accesses will be done via the database, and slowly repopulate the cache from scratch.
|
pure virtual |
Look up a LevTr from the database given its description.
Insert a new one if not found.
Implemented in dballe::db::v7::sqlite::SQLiteLevTr, dballe::db::v7::mysql::MySQLLevTr, and dballe::db::v7::postgresql::PostgreSQLLevTr.
impl::msg::Context* dballe::db::v7::LevTr::to_msg | ( | Tracer<> & | trc, |
int | id, | ||
impl::Message & | msg | ||
) |
Get/create a Context in the Msg for this level/timerange.