Расширения SQLite - это библиотеки с динамической связью.Вы можете найти несколько примеров здесь (Это репозиторий fossil , нажмите «login / fill captcha», чтобы включить гиперссылки).Смотрите, например, md5.c .
load_extension
должен быть включен в SQLite (прагма IIRC) - он требует в качестве первого аргумента путь к библиотеке
- Вторым аргументом является имя функции точки входа (в md5.c это
sqlite3_extension_init
).Его прототип должен быть int(sqlite3*, char **, const sqlite3_api_routines *)
. - В SQL вы можете попробовать
SELECT load_extension('md5.so', 'sqlite3_extension_init');
или просто SELECT load_extension('md5.so');
Вы можете попробовать скомпилировать md5.c
и из оболочки sqlite.используйте .load md5.so