diff options
| author | Estevan Castilho <tevo@riajuu.net> | 2026-07-02 00:31:57 +0000 |
|---|---|---|
| committer | Estevan Castilho <tevo@riajuu.net> | 2026-07-02 00:31:57 +0000 |
| commit | ab70e5461b98ddf2b56268c53c171cab89157027 (patch) | |
| tree | 3e57218edacc8e1366e0d1a86bdb922af7e51dca /src/SqliteBackend.cpp | |
| parent | a4f6637601548a7158869ad155f29db50b151823 (diff) | |
| download | RNT-ab70e5461b98ddf2b56268c53c171cab89157027.tar.gz RNT-ab70e5461b98ddf2b56268c53c171cab89157027.zip | |
Nuke the old code
Diffstat (limited to '')
| -rw-r--r-- | src/SqliteBackend.cpp | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/SqliteBackend.cpp b/src/SqliteBackend.cpp deleted file mode 100644 index 3e01058..0000000 --- a/src/SqliteBackend.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "SqliteBackend.h" - -#include <picosha2.h> -#include <stdexcept> - -namespace nt { - SqliteBackend::SqliteBackend(const std::string& path) { - if (sqlite3_open(path.c_str(), &db_) != SQLITE_OK) - throw std::runtime_error(sqlite3_errmsg(db_)); - - const char* schema = "CREATE TABLE IF NOT EXISTS kv (" - " hash TEXT PRIMARY KEY," - " value BLOB NOT NULL" - ");"; - - char* err = nullptr; - if (sqlite3_exec(db_, schema, nullptr, nullptr, &err) != SQLITE_OK) { - std::string msg(err); - sqlite3_free(err); - throw std::runtime_error(msg); - } - } - - SqliteBackend::~SqliteBackend() { - sqlite3_close(db_); - } - - std::string SqliteBackend::Put(std::vector<uint8_t> value) { - const std::string hash = picosha2::hash256_hex_string(value.begin(), value.end()); - - sqlite3_stmt* stmt = nullptr; - sqlite3_prepare_v2(db_, "INSERT OR IGNORE INTO kv (hash, value) VALUES (?, ?)", -1, &stmt, - nullptr); - sqlite3_bind_text(stmt, 1, hash.c_str(), -1, SQLITE_TRANSIENT); - sqlite3_bind_blob(stmt, 2, value.data(), static_cast<int>(value.size()), SQLITE_TRANSIENT); - sqlite3_step(stmt); - sqlite3_finalize(stmt); - return hash; - } - - std::optional<std::vector<uint8_t>> SqliteBackend::Get(const std::string& hash) { - sqlite3_stmt* stmt = nullptr; - sqlite3_prepare_v2(db_, "SELECT value FROM kv WHERE hash = ?", -1, &stmt, nullptr); - sqlite3_bind_text(stmt, 1, hash.c_str(), -1, SQLITE_TRANSIENT); - - std::optional<std::vector<uint8_t>> result; - if (sqlite3_step(stmt) == SQLITE_ROW) { - const auto* blob = static_cast<const uint8_t*>(sqlite3_column_blob(stmt, 0)); - int size = sqlite3_column_bytes(stmt, 0); - result = std::vector<uint8_t>(blob, blob + size); - } - sqlite3_finalize(stmt); - return result; - } -} // namespace nt |
