Spec-Zone.ru › MariaDB

Типы таблиц CONNECT - OEM: Реализация во внешней библиотеке

Хотя CONNECT предоставляет богатый набор типов таблиц, для некоторых приложений может потребоваться доступ к данным, организованным способом, который не поддерживается существующими внешними оболочками данных (FDW). Для таких случаев CONNECT предоставляет интерфейс, позволяющий разработчикам реализовать необходимую оболочку таблицы на C++ и использовать её как часть стандартного списка типов таблиц CONNECT. CONNECT может использовать эти дополнительные обработчики при наличии соответствующего внешнего модуля (dll или shared lib).

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

create table xtab (column definitions)
engine=CONNECT table_type=OEM module='libname'
subtype='MYTYPE' [standard table options]
Option_list='Myopt=foo';

Параметр module указывает имя DLL или shared библиотеки, реализующей OEM-оболочку для типа таблицы. Эта библиотека должна находиться в каталоге плагинов, как и все остальные плагины или UDF.

Эта библиотека должна экспортировать функцию GetMYTYPE. Параметр subtype позволяет CONNECT получить имя экспортированной функции и использовать новый тип таблицы. Другие параметры интерпретируются типом OEM и также могут быть указаны в параметре option_list.

Определения столбцов могут быть не указаны, только если внешняя оболочка способна вернуть эту информацию. Для этого она должна экспортировать функцию ColMYTYPE, возвращающую эти определения в формате, приемлемом для функции обнаружения CONNECT.

Какие и как параметры должны быть указаны, а также способ определения столбцов могут отличаться в зависимости от используемого типа OEM и должны быть задокументированы реализаторами типа OEM.

Пример таблицы OEM

Таблица OEM REST, описанная в Добавление функциональности REST как библиотеки, вызываемой таблицей OEM, позволяет использовать таблицы типа REST с бинарными дистрибутивами MariaDB, содержащими, но не активирующими тип таблицы REST.

Конечно, для работы необходимо, чтобы dll или аналогичная библиотека, экспортирующая функции GetREST и colREST, находилась в каталоге плагинов.

Некоторые доступные в настоящее время модули и подтипы таблиц OEM

Модуль Подтип Описание
libhello HELLO Пример OEM-оболочки, отображающей в таблице одну строку «Hello world»
mongo MONGO Позволяет использовать таблицы, основанные на коллекциях MongoDB.
Tabfic FIC Обрабатывает файлы в формате Windev HyperFile.
Tabofx OFC Обрабатывает файлы Open Financial Connectivity.
Tabofx QIF Обрабатывает файлы Quicken Interchange Format.
Cirpack CRPK Обрабатывает CDR из Cirpack UTP.
Tabplg PLG Доступ к таблицам из СУБД PlugDB.

Как реализовать обработчик OEM не входит в сферу данного документа.

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проходит предварительной проверки MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/connect-table-types-oem/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API