libdballe  7.29
sqlite/datav6.h
1 #ifndef DBALLE_DB_V6_SQLITE_DATA_H
2 #define DBALLE_DB_V6_SQLITE_DATA_H
3 
4 #include <dballe/db/v6/datav6.h>
5 #include <dballe/sql/fwd.h>
6 
7 namespace dballe {
8 struct Record;
9 
10 namespace db {
11 namespace v6 {
12 namespace sqlite {
13 struct DB;
14 
18 class SQLiteDataV6 : public v6::DataV6
19 {
20 protected:
23 
26 
27 public:
29  SQLiteDataV6(const SQLiteDataV6&) = delete;
30  SQLiteDataV6(const SQLiteDataV6&&) = delete;
31  SQLiteDataV6& operator=(const SQLiteDataV6&) = delete;
32  ~SQLiteDataV6();
33 
34  void insert(dballe::sql::Transaction& t, v6::bulk::InsertV6& vars, UpdateMode update_mode=UPDATE) override;
35  void remove(const v6::QueryBuilder& qb) override;
36  void dump(FILE* out) override;
37 };
38 
39 }
40 }
41 }
42 }
43 #endif
void dump(FILE *out) override
Dump the entire contents of the table to an output stream.
Attribute table management used by the db module.
Forward declarations for public dballe/sql names.
dballe::sql::SQLiteStatement * sstm
Precompiled select statement to prepare bulk insert.
Definition: sqlite/datav6.h:25
A RAII transaction interface.
Definition: sql.h:133
Precompiled query to manipulate the data table.
Definition: sqlite/datav6.h:18
Input for a bulk insert of a lot of variables sharing the same context information.
Definition: datav6.h:107
SQLite statement.
Definition: sqlite.h:89
Build SQL queries for V6 databases.
Definition: v6/qbuilder.h:14
void insert(dballe::sql::Transaction &t, v6::bulk::InsertV6 &vars, UpdateMode update_mode=UPDATE) override
Bulk variable insert.
Precompiled query to manipulate the data table.
Definition: datav6.h:31
Database connection.
Definition: sqlite.h:34
dballe::sql::SQLiteConnection & conn
DB connection.
Definition: sqlite/datav6.h:22