29 Sqlite3_Database(std::string_view file, std::optional<int> sqlite_open_flags = std::nullopt);
33 size_t row_count(std::string_view table_name)
override;
35 void create_table(std::string_view table_schema)
override;
37 size_t rows_changed_by_last_statement()
override;
39 std::shared_ptr<Statement> new_statement(std::string_view sql)
const override;
41 bool is_threadsafe()
const override;
46 void bind(
int column, std::string_view val)
override;
47 void bind(
int column,
size_t val)
override;
48 void bind(
int column, std::chrono::system_clock::time_point time)
override;
49 void bind(
int column,
const std::vector<uint8_t>& val)
override;
50 void bind(
int column,
const uint8_t* data,
size_t len)
override;
52 std::pair<const uint8_t*, size_t> get_blob(
int column)
override;
53 std::string get_str(
int column)
override;
54 size_t get_size_t(
int column)
override;
56 size_t spin()
override;
59 Sqlite3_Statement(sqlite3* db, std::string_view base_sql);
60 ~Sqlite3_Statement()
override;