2021-12-05 17:54:36 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// C++
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
// SQLite
|
|
|
|
#include "CppSQLite3.h"
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Optimization settings
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <sstream>
|
|
|
|
#include <iostream>
|
|
|
|
|
2023-08-11 04:27:40 +00:00
|
|
|
//! The CDClient Database namespace
|
2021-12-05 17:54:36 +00:00
|
|
|
namespace CDClientDatabase {
|
2024-01-08 23:32:09 +00:00
|
|
|
/**
|
|
|
|
* Boolean defining the connection status of CDClient
|
|
|
|
*/
|
|
|
|
extern bool isConnected;
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2021-12-05 17:54:36 +00:00
|
|
|
//! Opens a connection with the CDClient
|
|
|
|
/*!
|
|
|
|
\param filename The filename
|
|
|
|
*/
|
|
|
|
void Connect(const std::string& filename);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2021-12-05 17:54:36 +00:00
|
|
|
//! Queries the CDClient
|
|
|
|
/*!
|
|
|
|
\param query The query
|
|
|
|
\return The results of the query
|
|
|
|
*/
|
|
|
|
CppSQLite3Query ExecuteQuery(const std::string& query);
|
2022-07-28 13:39:57 +00:00
|
|
|
|
2022-10-30 07:38:43 +00:00
|
|
|
//! Updates the CDClient file with Data Manipulation Language (DML) commands.
|
|
|
|
/*!
|
|
|
|
\param query The DML command to run. DML command can be multiple queries in one string but only
|
|
|
|
the last one will return its number of updated rows.
|
|
|
|
\return The number of updated rows.
|
|
|
|
*/
|
|
|
|
int ExecuteDML(const std::string& query);
|
|
|
|
|
2022-01-06 02:52:33 +00:00
|
|
|
//! Queries the CDClient and parses arguments
|
|
|
|
/*!
|
|
|
|
\param query The query with formatted arguments
|
2022-01-13 03:48:27 +00:00
|
|
|
\return prepared SQLite Statement
|
2022-01-06 02:52:33 +00:00
|
|
|
*/
|
2022-01-13 03:48:27 +00:00
|
|
|
CppSQLite3Statement CreatePreppedStmt(const std::string& query);
|
2021-12-05 17:54:36 +00:00
|
|
|
};
|