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;
40 std::shared_ptr<Statement>
new_statement(std::string_view sql)
const override;
45 class Sqlite3_Statement final :
public Statement {
47 void bind(
int column, std::string_view val)
override;
48 void bind(
int column,
size_t val)
override;
49 void bind(
int column, std::chrono::system_clock::time_point time)
override;
50 void bind(
int column,
const std::vector<uint8_t>& val)
override;
51 void bind(
int column,
const uint8_t* data,
size_t len)
override;
53 std::pair<const uint8_t*, size_t> get_blob(
int column)
override;
54 std::string get_str(
int column)
override;
55 size_t get_size_t(
int column)
override;
57 size_t spin()
override;
60 Sqlite3_Statement(sqlite3* db, std::string_view base_sql);
61 ~Sqlite3_Statement()
override;