7 #include <dballe/core/error.h> 8 #include <dballe/transaction.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);
64 unsigned profile_query_count = 0;
78 const std::string& get_url()
const {
return url; }
86 virtual std::unique_ptr<Transaction> transaction() = 0;
89 virtual bool has_table(
const std::string& name) = 0;
96 virtual std::string get_setting(
const std::string& key) = 0;
103 virtual void set_setting(
const std::string& key,
const std::string& value) = 0;
106 virtual void drop_settings() = 0;
112 virtual void execute(
const std::string& query) = 0;
115 virtual void explain(
const std::string& query, FILE* out) = 0;
118 static std::unique_ptr<Connection> create_from_url(
const char* url);
121 static std::unique_ptr<Connection> create_from_url(
const std::string& url);
142 virtual void lock_table(
const char* name) = 0;
A RAII transaction interface.
Definition: transaction.h:15
ServerType server_type
Type of SQL server we are connected to.
Definition: sql.h:73
Forward declarations for public dballe/sql names.
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
A RAII transaction interface.
Definition: sql.h:133
Date and time.
Definition: types.h:158
String buffer for composing database queries.
Definition: querybuf.h:15