libdballe  7.19
v7/sqlite/driver.h
1 #ifndef DBALLE_DB_V7_SQLITE_DRIVER_H
2 #define DBALLE_DB_V7_SQLITE_DRIVER_H
3 
4 #include <dballe/db/v7/driver.h>
5 #include <dballe/sql/fwd.h>
6 
7 namespace dballe {
8 namespace db {
9 namespace v7 {
10 namespace sqlite {
11 
12 struct Driver : public v7::Driver
13 {
15 
17  virtual ~Driver();
18 
19  std::unique_ptr<v7::Repinfo> create_repinfo() override;
20  std::unique_ptr<v7::Station> create_station() override;
21  std::unique_ptr<v7::LevTr> create_levtr() override;
22  std::unique_ptr<v7::StationData> create_station_data() override;
23  std::unique_ptr<v7::Data> create_data() override;
24  void run_station_query(const v7::StationQueryBuilder& qb, std::function<void(int id, const StationDesc&)>) override;
25  void run_station_data_query(const v7::DataQueryBuilder& qb, std::function<void(int id_station, const StationDesc& station, int id_data, std::unique_ptr<wreport::Var> var)>) override;
26  void run_data_query(const v7::DataQueryBuilder& qb, std::function<void(int id_station, const StationDesc& station, int id_levtr, const Datetime& datetime, int id_data, std::unique_ptr<wreport::Var> var)>) override;
27  void run_summary_query(const v7::SummaryQueryBuilder& qb, std::function<void(int id_station, const StationDesc& station, int id_levtr, wreport::Varcode code, const DatetimeRange& datetime, size_t size)>) override;
28  void create_tables_v7() override;
29  void delete_tables_v7() override;
30  void vacuum_v7() override;
31 };
32 
33 }
34 }
35 }
36 }
37 #endif
Definition: v7/qbuilder.h:81
Definition: v7/qbuilder.h:124
Definition: state.h:32
void run_summary_query(const v7::SummaryQueryBuilder &qb, std::function< void(int id_station, const StationDesc &station, int id_levtr, wreport::Varcode code, const DatetimeRange &datetime, size_t size)>) override
Run a summary query, iterating on the resulting variables.
void run_station_data_query(const v7::DataQueryBuilder &qb, std::function< void(int id_station, const StationDesc &station, int id_data, std::unique_ptr< wreport::Var > var)>) override
Run a station data query, iterating on the resulting variables.
std::unique_ptr< v7::Repinfo > create_repinfo() override
Precompiled queries to manipulate the repinfo table.
Forward declarations for public dballe/sql names.
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
std::unique_ptr< v7::LevTr > create_levtr() override
Precompiled queries to manipulate the levtr table.
void run_data_query(const v7::DataQueryBuilder &qb, std::function< void(int id_station, const StationDesc &station, int id_levtr, const Datetime &datetime, int id_data, std::unique_ptr< wreport::Var > var)>) override
Run a data query, iterating on the resulting variables.
uint16_t Varcode
Range of datetimes.
Definition: types.h:272
void vacuum_v7() override
Perform database cleanup/maintenance on v7 databases.
std::unique_ptr< v7::StationData > create_station_data() override
Precompiled queries to manipulate the data table.
std::unique_ptr< v7::Station > create_station() override
Precompiled queries to manipulate the station table.
Date and time.
Definition: types.h:158
Definition: v7/sqlite/driver.h:12
void create_tables_v7() override
Create all missing tables for V7 databases.
std::unique_ptr< v7::Data > create_data() override
Precompiled queries to manipulate the data table.
void delete_tables_v7() override
Delete all existing tables for V7 databases.
Definition: v7/driver.h:26
Database connection.
Definition: sqlite.h:33
Definition: v7/qbuilder.h:91