libdballe 9.6
sqlite/levtr.h
1#ifndef DBALLE_DB_V7_SQLITE_LEVTRV7_H
2#define DBALLE_DB_V7_SQLITE_LEVTRV7_H
3
4#include <dballe/db/db.h>
5#include <dballe/db/v7/levtr.h>
6#include <dballe/sql/fwd.h>
7#include <cstdio>
8#include <memory>
9
10namespace dballe {
11namespace db {
12namespace v7 {
13namespace sqlite {
14struct DB;
15
19struct SQLiteLevTr : public v7::LevTr
20{
21protected:
26
35
36 void _dump(std::function<void(int, const Level&, const Trange&)> out) override;
37
38public:
40 SQLiteLevTr(const LevTr&) = delete;
41 SQLiteLevTr(const LevTr&&) = delete;
42 SQLiteLevTr& operator=(const SQLiteLevTr&) = delete;
44
45 void prefetch_ids(Tracer<>& trc, const std::set<int>& id) override;
46 const LevTrEntry* lookup_id(Tracer<>& trc, int id) override;
47 int obtain_id(Tracer<>& trc, const LevTrEntry& desc) override;
48};
49
50}
51}
52}
53}
54#endif
Smart pointer for trace::Step objects, which calls done() when going out of scope.
Definition: db/v7/fwd.h:46
Database connection.
Definition: sqlite.h:35
Functions used to connect to DB-All.e and insert, query and delete data.
Forward declarations for public dballe/sql names.
Vertical level or layer.
Definition: types.h:625
Information on how a value has been sampled or computed with regards to time.
Definition: types.h:687
Definition: cache.h:15
Precompiled queries to manipulate the lev_tr table.
Definition: levtr.h:21
Definition: transaction.h:16
Precompiled queries to manipulate the lev_tr table.
Definition: sqlite/levtr.h:20
dballe::sql::SQLiteConnection & conn
DB connection.
Definition: sqlite/levtr.h:25
int obtain_id(Tracer<> &trc, const LevTrEntry &desc) override
Look up a LevTr from the database given its description.
const LevTrEntry * lookup_id(Tracer<> &trc, int id) override
Look up a LevTr from the database given its ID.
dballe::sql::SQLiteStatement * sstm
Precompiled select statement.
Definition: sqlite/levtr.h:28
dballe::sql::SQLiteStatement * sdstm
Precompiled select data statement.
Definition: sqlite/levtr.h:30
dballe::sql::SQLiteStatement * istm
Precompiled insert statement.
Definition: sqlite/levtr.h:32
dballe::sql::SQLiteStatement * dstm
Precompiled delete statement.
Definition: sqlite/levtr.h:34
void prefetch_ids(Tracer<> &trc, const std::set< int > &id) override
Given a set of IDs, load LevTr information for them and add it to the cache.
SQLite statement.
Definition: sqlite.h:116