1 #ifndef DBALLE_DB_V7_DATAV7_H 2 #define DBALLE_DB_V7_DATAV7_H 4 #include <dballe/fwd.h> 6 #include <dballe/core/fwd.h> 9 #include <dballe/db/defs.h> 10 #include <dballe/db/v7/fwd.h> 11 #include <wreport/var.h> 22 template<
typename Traits>
26 typedef typename Traits::BatchValue BatchValue;
27 static const char* table_name;
67 virtual void read_attrs(
Tracer<>& trc,
int id_data, std::function<
void(std::unique_ptr<wreport::Var>)> dest) = 0;
85 virtual void update(
Tracer<>& trc, std::vector<typename Traits::BatchValue>& vars,
bool with_attrs) = 0;
94 virtual void dump(FILE* out) = 0;
96 virtual void clear_cache() = 0;
108 void print_row(
int id,
int id_station,
wreport::Varcode code,
const char* val,
const std::vector<uint8_t>& attrs);
120 void print_row(
int id,
int id_station,
int id_levtr,
const Datetime& dt,
wreport::Varcode code,
const char* val,
const std::vector<uint8_t>& attrs);
127 static const char* table_name;
133 static const char* table_name;
144 virtual void insert(
Tracer<>& trc,
int id_station, std::vector<batch::StationDatum>& vars,
bool with_attrs) = 0;
160 virtual void insert(
Tracer<>& trc,
int id_station,
const Datetime& datetime, std::vector<batch::MeasuredDatum>& vars,
bool with_attrs) = 0;
Forward declarations for public dballe/sql names.
Definition: qbuilder.h:124
virtual void dump(FILE *out)=0
Dump the entire contents of the table to an output stream.
Definition: db/v7/data.h:112
Definition: qbuilder.h:115
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:23
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:294
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:124
Smart pointer for trace::Step objects, which calls done() when going out of scope.
Definition: db/v7/fwd.h:45
Definition: db/v7/data.h:139
Date and time.
Definition: types.h:164
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:130
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:100
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:176
Definition: db/v7/data.h:155
Definition: qbuilder.h:91