libdballe  7.7
Public Member Functions | Protected Member Functions | Protected Attributes
dballe::db::mysql::MySQLStationBase Class Reference

Precompiled queries to manipulate the station table. More...

#include <station.h>

Inheritance diagram for dballe::db::mysql::MySQLStationBase:
dballe::db::sql::Station dballe::db::mysql::MySQLStationV6

Public Member Functions

 MySQLStationBase (MySQLConnection &conn)
 
 MySQLStationBase (const MySQLStationBase &)=delete
 
 MySQLStationBase (const MySQLStationBase &&)=delete
 
MySQLStationBaseoperator= (const MySQLStationBase &)=delete
 
int get_id (int lat, int lon, const char *ident=nullptr) override
 Get the station ID given latitude, longitude and mobile identifier. More...
 
int obtain_id (int lat, int lon, const char *ident=nullptr, bool *inserted=NULL) override
 Get the station ID given latitude, longitude and mobile identifier. More...
 
void get_station_vars (int id_station, int id_report, std::function< void(std::unique_ptr< wreport::Var >)> dest) override
 Export station variables.
 
void add_station_vars (int id_station, Record &rec) override
 Add all station variables (without attributes) to rec. More...
 
void dump (FILE *out) override
 Dump the entire contents of the table to an output stream.
 
- Public Member Functions inherited from dballe::db::sql::Station
virtual ~Station ()
 Instantiate a Station object for this connection.
 

Protected Member Functions

bool maybe_get_id (int lat, int lon, const char *ident, int *id)
 Lookup the ID of a station, returning true if it was found, false if not.
 
void read_station_vars (const std::string &query, std::function< void(std::unique_ptr< wreport::Var >)> dest)
 Run stm, read its output and generate variables to send to dest.
 

Protected Attributes

MySQLConnectionconn
 DB connection.
 

Detailed Description

Precompiled queries to manipulate the station table.

Member Function Documentation

void dballe::db::mysql::MySQLStationBase::add_station_vars ( int  id_station,
Record rec 
)
overridevirtual

Add all station variables (without attributes) to rec.

If the same variable exists in many different networks, the one with the highest priority will be used.

Implements dballe::db::sql::Station.

int dballe::db::mysql::MySQLStationBase::get_id ( int  lat,
int  lon,
const char *  ident = nullptr 
)
overridevirtual

Get the station ID given latitude, longitude and mobile identifier.

It throws an exception if it does not exist.

Returns
Resulting ID of the station

Implements dballe::db::sql::Station.

int dballe::db::mysql::MySQLStationBase::obtain_id ( int  lat,
int  lon,
const char *  ident = nullptr,
bool *  inserted = NULL 
)
overridevirtual

Get the station ID given latitude, longitude and mobile identifier.

It creates the station record if it does not exist.

Returns
Resulting ID of the station

Implements dballe::db::sql::Station.


The documentation for this class was generated from the following file: