Как загрузить расширения в SQLite?

Мне нужна функция стандартного отклонения в SQLite. Я нашел один здесь:

http://www.sqlite.org/contrib?orderby=date

но его часть файла расширения для SQLite. Я никогда не устанавливал один из них раньше, и я не знаю, как это сделать. Я нашел эту существующую функцию, load_extension, at http://www.sqlite.org/lang_corefunc.html, но я не понимаю, что такое параметры X и Y.

В Основном, Я нужно, чтобы кто-то дал мне пошаговое руководство по установке файла расширения aggregate. Кто - нибудь может это сделать?

1 ответов


расширения SQLite-это библиотеки с динамической связью. Вы можете найти несколько примеров здесь (это ископаемых репозиторий, нажмите "Войти / заполнить captcha", чтобы включить гиперссылки). См., например,алгоритма MD5.c.

  • load_extension должен быть включен в SQLite (pragma IIRC)
  • в качестве первого аргумента требуется путь к библиотеке
  • второй аргумент-имя функции-точки входа (в MD5.с это 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