8#ifndef BOTAN_UTILS_SQLITE3_H_
9#define BOTAN_UTILS_SQLITE3_H_
11#include <botan/database.h>
30 Sqlite3_Database(std::string_view file, std::optional<int> sqlite_open_flags = std::nullopt);
34 size_t row_count(std::string_view table_name)
override;
36 void create_table(std::string_view table_schema)
override;
38 size_t rows_changed_by_last_statement()
override;
40 std::shared_ptr<Statement> new_statement(std::string_view sql)
const override;
42 bool is_threadsafe()
const override;
48 void bind(
int column, std::string_view val)
override;
49 void bind(
int column,
size_t val)
override;
50 void bind(
int column, std::chrono::system_clock::time_point time)
override;
51 void bind(
int column,
const std::vector<uint8_t>& val)
override;
52 void bind(
int column,
const uint8_t* data,
size_t len)
override;
54 std::pair<const uint8_t*, size_t> get_blob(
int column)
override;
55 std::string get_str(
int column)
override;
56 size_t get_size_t(
int column)
override;
58 size_t spin()
override;
61 Sqlite3_Statement(sqlite3* db, std::string_view base_sql);
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)