1 #ifndef DBALLE_DB_V7_DATAV7_H 2 #define DBALLE_DB_V7_DATAV7_H 6 #include <dballe/core/fwd.h> 7 #include <dballe/db/defs.h> 8 #include <dballe/db/v7/fwd.h> 9 #include <dballe/fwd.h> 16 #include <wreport/var.h> 25 typedef typename Traits::BatchValue BatchValue;
26 static const char* table_name;
40 const db::AttrList& exclude);
70 std::function<
void(std::unique_ptr<wreport::Var>)> dest) = 0;
89 std::vector<typename Traits::BatchValue>& vars,
99 virtual void dump(FILE* out) = 0;
101 virtual void clear_cache() = 0;
112 void print_row(
int id,
int id_station, wreport::Varcode code,
113 const char* val,
const std::vector<uint8_t>& attrs);
125 void print_row(
int id,
int id_station,
int id_levtr,
const Datetime& dt,
126 wreport::Varcode code,
const char* val,
127 const std::vector<uint8_t>& attrs);
134 static const char* table_name;
140 static const char* table_name;
151 virtual void insert(
Tracer<>& trc,
int id_station,
152 std::vector<batch::StationDatum>& vars,
153 bool with_attrs) = 0;
157 query(
Tracer<>& trc,
int id_station,
158 std::function<
void(
int id, wreport::Varcode code)> dest) = 0;
163 virtual void run_station_data_query(
166 std::unique_ptr<wreport::Var> var)>) = 0;
174 virtual void insert(
Tracer<>& trc,
int id_station,
const Datetime& datetime,
175 std::vector<batch::MeasuredDatum>& vars,
176 bool with_attrs) = 0;
181 std::function<
void(
int id,
int id_levtr, wreport::Varcode code)>
187 virtual void run_data_query(
190 const Datetime& datetime,
int id_data,
191 std::unique_ptr<wreport::Var> var)>) = 0;
196 virtual void run_summary_query(
Forward declarations for public dballe/sql names.
Definition: qbuilder.h:134
virtual void dump(FILE *out)=0
Dump the entire contents of the table to an output stream.
Definition: db/v7/data.h:117
Definition: qbuilder.h:121
void remove_attrs(Tracer<> &trc, int data_id, const db::AttrList &attrs)
Remove the given attributes from the given variable, if they exist.
Definition: db/v7/data.h:22
virtual void remove_all_attrs(Tracer<> &trc, int id_data)=0
Remove all attributes from a variable.
virtual void read_attrs(Tracer<> &trc, int id_data, std::function< void(std::unique_ptr< wreport::Var >)> dest)=0
Load from the database all the attributes for var.
Range of datetimes.
Definition: types.h:296
virtual void write_attrs(Tracer<> &trc, int id_data, const Values &values)=0
Replace the attributes of a variable with those in Values.
Definition: transaction.h:15
Definition: db/v7/data.h:131
Smart pointer for trace::Step objects, which calls done() when going out of scope.
Definition: db/v7/fwd.h:44
Definition: db/v7/data.h:146
Date and time.
Definition: types.h:163
virtual void remove_by_id(Tracer<> &trc, int id)=0
Run the query to delete the record with the given ID.
Definition: db/v7/data.h:137
virtual void update(Tracer<> &trc, std::vector< typename Traits::BatchValue > &vars, bool with_attrs)=0
Bulk variable update.
void merge_attrs(Tracer<> &trc, int id_data, const Values &attrs)
Merge the given attributes with the existing attributes of the given variable:
Structures used as input to database insert functions.
Definition: db/v7/data.h:104
void read_attrs_into_values(Tracer<> &trc, int id_data, Values &values)
Load attributes from the database into a Values.
Collection of Value objects, indexed by wreport::Varcode.
Definition: values.h:215
Definition: db/v7/data.h:169
Definition: qbuilder.h:95