libdballe  8.6
db/v7/db.h
1 #ifndef DBA_DB_V7_H
2 #define DBA_DB_V7_H
3 
4 #include <dballe/fwd.h>
5 #include <dballe/sql/fwd.h>
6 #include <dballe/db/db.h>
7 #include <dballe/db/v7/trace.h>
8 #include <dballe/db/v7/fwd.h>
9 #include <wreport/varinfo.h>
10 #include <string>
11 #include <memory>
12 
13 namespace dballe {
14 namespace db {
15 namespace v7 {
16 
20 class DB : public dballe::db::DB
21 {
22 public:
26  Trace* trace = nullptr;
28  bool explain_queries = false;
29 
30 protected:
33 
34  void init_after_connect();
35 
36 public:
37  DB(std::unique_ptr<dballe::sql::Connection> conn);
38  virtual ~DB();
39 
40  db::Format format() const { return Format::V7; }
41 
43  v7::Driver& driver();
44 
45  std::shared_ptr<dballe::Transaction> transaction(bool readonly=false) override;
46  std::shared_ptr<dballe::db::Transaction> test_transaction(bool readonly=false) override;
47 
48  void disappear();
49 
61  void reset(const char* repinfo_file = 0);
62 
66  void delete_tables();
67 
77  void vacuum();
78 
79  friend class dballe::DB;
80  friend class dballe::db::v7::Transaction;
81 };
82 
83 }
84 }
85 }
86 #endif
dballe::db::v7::DB::disappear
void disappear()
Remove all our traces from the database, if applicable.
dballe::db::v7::DB::explain_queries
bool explain_queries
True if we print an EXPLAIN trace of all queries to stderr.
Definition: db/v7/db.h:28
fwd.h
dballe::db::v7::DB::transaction
std::shared_ptr< dballe::Transaction > transaction(bool readonly=false) override
Begin a transaction on this database, and return a Transaction object that can be used to commit it.
dballe::db::v7::DB::test_transaction
std::shared_ptr< dballe::db::Transaction > test_transaction(bool readonly=false) override
Same as transaction(), but the resulting transaction will throw an exception if commit is called.
dballe::db::v7::DB::format
db::Format format() const
Return the format of this DB.
Definition: db/v7/db.h:40
dballe::db::v7::DB::m_driver
v7::Driver * m_driver
SQL driver backend.
Definition: db/v7/db.h:32
dballe::db::v7::Transaction
Definition: transaction.h:15
dballe::db::v7::DB::conn
dballe::sql::Connection * conn
Database connection.
Definition: db/v7/db.h:24
dballe::sql::Connection
Definition: sql.h:52
dballe::db::DB
Definition: db/db.h:252
dballe::db::v7::DB::trace
Trace * trace
Database query tracing.
Definition: db/v7/db.h:26
dballe::db::v7::DB
DB-ALLe database connection for database format V7.
Definition: db/v7/db.h:20
db.h
dballe::db::v7::Driver
Definition: driver.h:19
dballe::DB
Definition: db.h:296
dballe::db::v7::DB::vacuum
void vacuum()
Remove orphan values from the database.
dballe::db::v7::DB::delete_tables
void delete_tables()
Delete all the DB-ALLe tables from the database.
dballe::db::v7::DB::driver
v7::Driver & driver()
Access the backend DB driver.
varinfo.h
dballe::db::v7::DB::reset
void reset(const char *repinfo_file=0)
Reset the database, removing all existing DBALLE tables and re-creating them empty.
dballe::db::v7::Trace
Definition: db/v7/trace.h:194