Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Модули внешних кодов
Модули внешних кодов
Firebird может расширить свои возможности путем доступа к определенным пользователям подпрограммам, написанным на включающем языке программирования и скомпилированным во внешние библиотеки общего доступа. Этот раздел содержит рассмотрение некоторых вопросов и техник, относящихся к написанию внешних функций (UDF) и фильтров BLOB.
* Внешние функции: Firebird "путешествует налегке" в отношении встроенных функций. Вместо того чтобы навешивать на сервер огромную библиотеку скрытых функций, Firebird позволяет разработчикам выбрать - и, при необходимости, определить- их собственные библиотеки внешних функций, которые соответствуют потребностям вычислений и выражений в их базах данных. Функции, определенные пользователем (User-Defined Function, UDF), добавляют высокую гибкость в среду вашей базы данных. UDF являются расширением функций сервера Firebird на серверной стороне; они объявляются для баз данных и выполняются в контексте серверного процесса.
Как и стандартные встроенные функции SQL, UDF могут быть разработаны для выполнения конвертирования данных или для вычислений, которые сложно или вообще невозможно выполнить в языке SQL. UDF включают функции для статистики, строк, дат и математических вычислений.
В разд. "Внешние функции" главы 21 подробно объясняется, как размешать, объявлять и использовать внешние функции, а также как сконфигурировать их размещение в файловой системе, чтобы исключить некоторые риски безопасности и целостности, существующие при выполнении внешнего кода вместе с ядром сервера. Конфигурация по умолчанию и режимы файловой системы также обсуждались ранее в этой главе при рассмотрении параметров udfAccess (версия 1.5) и externaI_fiIe_directory (версия 1,0.x).
* Фильтры BLOB: сервер Firebird использует несколько внутренне определенных подпрограмм для преобразования байтовых потоков из одного формата в другой. Эти подпрограммы называются фильтрами BLOB. Обработчик SQL представляет их в DDL и в метаданных в виде подтипов BLOB. Существует также возможность писать свои собственные фильтры BLOB для преобразования данных BLOB из одного формата в другой совместимый формат. Например, фильтр BLOB может конвертировать формат XML в формат RTF или изображение BMP в JPEG.
- Сравнение архитектуры Суперсервера и Классического сервера
- Файл конфигурации Firebird
- Работа со встроенным сервером
- Запуск встроенного сервера
- Приложения
- Совместимость нескольких серверов
- Останов встроенного сервера
- Модули внешних кодов
- Разработка ваших собственных UDF
- Фильтры BLOB
- Модули интернациональных языков
- Конфигурирование внешних размещений
- Установки в файле конфигурации
- Дополнительные национальные кодовые страницы и порядки сортировки
- 1.3. Правила подключения к компьютеру внешних устройств
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- Модули констукторов заданий
- Речевые модули для «холодного» звонка с целью назначить встречу
- Речевые модули для завершения продажи
- 3.3.3. Модули аутентификации
- 7.2. Модули
- 8.4.5. Выполнение внешних команд
- Речевые модули для прохода секретаря
- Речевые модули для скрипта
- Модули