SQLiteExtensionManager class
SQLite extension manager using Boost.DLL.
Manages dynamic loading of SQLite extensions with thread safety and proper error handling.
Public types
- struct Extension
- using ExtensionInitFunc = int(*)(sqlite3*, char**, const sqlite3_api_routines*)
Constructors, destructors, conversion operators
- SQLiteExtensionManager() defaulted
- Constructor.
Public functions
- void add_extension_path(const fs::path& path)
- Add extension path for searching.
- auto register_extension(const std::string& name, bool required = false) -> bool
- Register an extension for loading.
- void load_extensions(sqlite3* db)
- Load all registered extensions into SQLite connection.
- auto get_loaded_extensions() const -> std::vector<std::string>
- Get list of loaded extensions.
- auto is_extension_loaded(const std::string& name) const -> bool
- Check if a specific extension is loaded.
Function documentation
void liarsdice:: database:: SQLiteExtensionManager:: add_extension_path(const fs::path& path)
Add extension path for searching.
| Parameters | |
|---|---|
| path | Directory containing SQLite extensions |
bool liarsdice:: database:: SQLiteExtensionManager:: register_extension(const std::string& name,
bool required = false)
Register an extension for loading.
| Parameters | |
|---|---|
| name | Extension name (without file extension) |
| required | If true, failure to load will throw exception |
| Returns | true if extension was found |
void liarsdice:: database:: SQLiteExtensionManager:: load_extensions(sqlite3* db)
Load all registered extensions into SQLite connection.
| Parameters | |
|---|---|
| db | SQLite database connection |
| Exceptions | |
| std::runtime_error | if loading fails |
std::vector<std::string> liarsdice:: database:: SQLiteExtensionManager:: get_loaded_extensions() const
Get list of loaded extensions.
| Returns | Vector of loaded extension names |
|---|
bool liarsdice:: database:: SQLiteExtensionManager:: is_extension_loaded(const std::string& name) const
Check if a specific extension is loaded.
| Parameters | |
|---|---|
| name | Extension name |
| Returns | true if extension is loaded |