7 #include <dballe/core/error.h> 8 #include <dballe/fwd.h> 23 #define TRACE(...) fprintf(stderr, __VA_ARGS__) 24 #define IFTRACE if (1) 27 #define TRACE(...) do { } while (0) 29 #define IFTRACE if (0) 56 const char* format_server_type(ServerType type);
76 const std::string& get_url()
const {
return url; }
84 virtual std::unique_ptr<Transaction> transaction(
bool readonly=
false) = 0;
87 virtual bool has_table(
const std::string& name) = 0;
94 virtual std::string get_setting(
const std::string& key) = 0;
101 virtual void set_setting(
const std::string& key,
const std::string& value) = 0;
104 virtual void drop_settings() = 0;
110 virtual void execute(
const std::string& query) = 0;
113 virtual void explain(
const std::string& query, FILE* out) = 0;
137 virtual void commit() = 0;
140 virtual void rollback() = 0;
143 virtual void rollback_nothrow() noexcept = 0;
147 virtual void lock_table(
const char* name) = 0;
Forward declarations for public dballe/sql names.
Options controlling how to connect to a database.
Definition: db.h:17
ServerType server_type
Type of SQL server we are connected to.
Definition: sql.h:71
A RAII transaction interface for SQL transactions.
Definition: sql.h:128
Date and time.
Definition: types.h:164
String buffer for composing database queries.
Definition: querybuf.h:15