1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dolphindb-DolphinDBPlugin

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

DolphinDB Plugin

Для получения актуальной документации по плагинам DolphinDB обратитесь к документации DolphinDB.

База данных DolphinDB поддерживает динамическую загрузку внешних плагинов для расширения функциональности системы. Плагин может быть написан на C++, и его необходимо скомпилировать в файлы общих библиотек «.so» или «.dll».

  • DolphinDB Plugin
      1. Структуры каталогов
      1. Загрузка плагинов
      • 2.1 Загрузка через функцию loadPlugin
      • 2.2 Загрузка через параметр конфигурации preloadModules
      1. Формат плагина DolphinDB
      1. Пример
      1. Советы

1. Структура каталогов

Перейдите в соответствующую ветку, чтобы просмотреть перечисленные ниже каталоги для каждого плагина.

  • include: каталог содержит объявления классов и некоторые объявления инструментальных классов для основных структур данных DolphinDB. Эти классы являются важными базовыми инструментами для реализации плагинов.
  • demo: каталог содержит демонстрационную реализацию плагина.
  • Другие каталоги содержат реализацию плагинов.

2. Загрузить плагины

2.1 Загрузить через функцию loadPlugin

Используйте функцию loadPlugin, чтобы загрузить внешние плагины. Эта функция принимает путь к файлу, который описывает формат плагина, например:

loadPlugin("/YOUR_SEVER_PATH/plugins/odbc/PluginODBC.txt");

2.2 Загрузить через параметр конфигурации preloadModules

Начиная с версии сервера 1.20.0, плагины можно автоматически загружать через параметр конфигурации preloadModules. Обратите внимание, что плагин, который должен быть предварительно загружен, должен существовать. В противном случае при запуске сервера возникнет исключение. Несколько плагинов разделяются символом ',', например:

preloadModules=plugins::mysql,plugins::odbc

3. Формат DolphinDB Plugin

DolphinDB использует текстовый файл для описания плагина. Формат файла следующий: первая строка описывает имя плагина и имя файла общей библиотеки. Каждая из следующих строк описывает сопоставление между функцией общей библиотеки и функцией DolphinDB.

module name, lib file
function name in lib, function name in DolphinDB, function type, minParamCount, maxParamCount, isAggregate
...

Объяснение:

  • module name: имя модуля плагина
  • lib file: имя файла общей библиотеки
  • function name in lib: имя функции в общей библиотеке
  • function name in DolphinDB: соответствующее имя функции в DolphinDB
  • function type: оператор или система
  • minParamCount: минимальное количество параметров
  • maxParamCount: максимальное количество параметров
  • isAggregate: является ли это агрегатной функцией

4. Пример

PluginDemo.txt:

demo,libPluginDemo.so
minmax,minmax,operator,1,1,0
foo,foo,system,1,1,0

Приведённый выше файл описания определяет плагин с именем demo. Файл общей библиотеки называется libPluginDemo.so.

Плагин экспортирует две функции. Первая функция называется minmax. Имя функции также minmax в DolphinDB. Тип функции — «оператор», она принимает один параметр. Вторая функция называется echo, имя в DolphinDB также echo, тип функции — «система», она принимает один аргумент.

После завершения файла описания вы можете приступить к написанию плагинов. Для содержания обратитесь к содержимому папки demo.

Компилятору необходимо использовать основную библиотеку DolphinDB libDolphinDB.so, которая реализует классы, объявленные в каталогах include.

cd demo
g++ -DLINUX -fPIC -DLOCKFREE_SYMBASE -c src/Demo.cpp -I../include -o Demo.o
g++ -fPIC -shared -o libPluginDemo.so Demo.o -lDolphinDB

Примечание:

  • Чтобы обеспечить совместимость со старыми компиляторами, вы можете скомпилировать libDolphinDB.so с опцией -D_GLIBCXX_USE_CXX11_ABI=0. Если сервер имеет последнюю версию ABI=1, это не требуется.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C++ и 6 других языков
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/dolphindb-DolphinDBPlugin.git
git@gitlife.ru:oschina-mirror/dolphindb-DolphinDBPlugin.git
oschina-mirror
dolphindb-DolphinDBPlugin
dolphindb-DolphinDBPlugin
release200.14