libdballe  9.11
mysql/repinfo.h
1 #ifndef DBALLE_DB_V7_MYSQL_REPINFO_H
2 #define DBALLE_DB_V7_MYSQL_REPINFO_H
3 
4 #include <dballe/db/v7/repinfo.h>
5 #include <dballe/sql/fwd.h>
6 #include <vector>
7 #include <string>
8 #include <map>
9 
10 namespace dballe {
11 namespace db {
12 namespace v7 {
13 namespace mysql {
14 
18 struct MySQLRepinfoV7 : public v7::Repinfo
19 {
25 
27  MySQLRepinfoV7(const MySQLRepinfoV7&) = delete;
28  MySQLRepinfoV7(const MySQLRepinfoV7&&) = delete;
29  virtual ~MySQLRepinfoV7();
30  MySQLRepinfoV7& operator=(const MySQLRepinfoV7&) = delete;
31 
32  void dump(FILE* out) override;
33 
34 protected:
36  int id_use_count(unsigned id, const char* name) override;
37  void delete_entry(unsigned id) override;
38  void update_entry(const v7::repinfo::Cache& entry) override;
39  void insert_entry(const v7::repinfo::Cache& entry) override;
40  void read_cache() override;
41  void insert_auto_entry(const char* memo) override;
42 };
43 
44 }
45 }
46 }
47 }
48 #endif
void insert_auto_entry(const char *memo) override
Create an automatic entry for a missing memo, and insert it in the database.
Forward declarations for public dballe/sql names.
void delete_entry(unsigned id) override
Delete a repinfo entry.
Fast cached access to the repinfo table.
Definition: repinfo.h:71
void insert_entry(const v7::repinfo::Cache &entry) override
Insert an entry using the new_* fields of entry.
Definition: cmdline.h:18
void update_entry(const v7::repinfo::Cache &entry) override
Update an entry using the new_* fields of entry.
int id_use_count(unsigned id, const char *name) override
Return how many time this ID is used in the database.
dballe::sql::MySQLConnection & conn
DB connection.
Definition: mysql/repinfo.h:24
repinfo cache entry
Definition: repinfo.h:24
void read_cache() override
Reread the repinfo cache from the database FIXME: needed when rolling back a transaction, won&#39;t be needed anymore when repinfo is moved to Transaction instead of db.
Fast cached access to the repinfo table.
Definition: mysql/repinfo.h:18
void dump(FILE *out) override
Dump the entire contents of the database to an output stream.
Repinfo table management used by the db module.
Database connection.
Definition: mysql.h:126