Class Database#
Defined in File database.h
Class Documentation#
-
class Database#
Public Functions
-
inline Database()#
-
Database(std::vector<std::string> info)#
-
Database(std::string host, int port, std::string user, std::string pass, std::string schema = "", std::string table = "")#
-
~Database()#
-
void initialize_class()#
-
void initialize_class(std::vector<std::string> dbinfo)#
-
mysqlx::RowResult read(const std::vector<std::string> &columns, const std::string &where_clause, const std::map<std::string, mysqlx::Value> &bind_params, const std::string &order_by = "", std::optional<int> limit = std::nullopt, std::optional<int> offset = std::nullopt)#
-
mysqlx::RowResult read(const std::string &tablename, const std::vector<std::string> &columns, const std::string &where_clause, const std::map<std::string, mysqlx::Value> &bind_params, const std::string &order_by = "", std::optional<int> limit = std::nullopt, std::optional<int> offset = std::nullopt)#
-
mysqlx::RowResult read(const std::string &schemaname, const std::string &tablename, const std::vector<std::string> &columns, const std::string &where_clause, const std::map<std::string, mysqlx::Value> &bind_params = {}, const std::string &order_by = "", std::optional<int> limit = std::nullopt, std::optional<int> offset = std::nullopt)#
-
void insert()#
-
void insert(const std::map<std::string, mysqlx::Value> &data)#
-
void insert(const std::string &tablename, const std::map<std::string, mysqlx::Value> &data)#
-
void insert(const std::string &schemaname, const std::string &tablename, const std::map<std::string, mysqlx::Value> &data)#
-
void update(const std::map<std::string, mysqlx::Value> &data, const std::string &condition, const std::map<std::string, mysqlx::Value> &bindings)#
-
void update(const std::string &schemaname, const std::string &tablename, const std::map<std::string, mysqlx::Value> &data, const std::string &condition, const std::map<std::string, mysqlx::Value> &bindings)#
-
std::list<std::string> get_tablenames()#
-
std::list<std::string> get_tablenames(const std::string &schemaname)#
-
template<typename T>
inline void add_key_val(const std::string &key, T value)# adds a key,value pair to the Database class
This adds a row into memory that will make up the complete record to be written. The private _data map contains data as mysqlx::Value indexed by name. msqlx::Value is essentially a variant so it can hold a mix of any different type.
- Parameters:
key – [in] name for the database column, or field
value – [in] value of entry can be any type
-
template<typename T>
inline void add_from_json(const nlohmann::json &jmessage, const std::string &jkey, const std::string &optional = "")# verifies key in json message and adds key/val to Database::_data
Accepts a json message and key, verifies the key is in the message and the value is not null, and if that passes then use the add_key_val() function to add the associated value to the Database class internal _data map.
- Parameters:
jmessage – [in] json message
jkey – [in] key to extract value from json message
optional – [in] optional database key, defaults to json key
-
inline Database()#