Разработка ваших собственных UDF

Разработка ваших собственных UDF

Библиотеки UDF компилируются как стандартные библиотеки совместного использования и выполняются на сервере, где размещена база данных. Библиотеки динамически загружаются базой данных во время выполнения, когда на библиотеку ссылается выражение SQL. Вы можете создавать библиотеки UDF на любой платформе, которая поддерживается в Firebird. Для использования одного и того же набора библиотек UDF в базах данных, выполняющихся на различных платформах, создайте и скомпилируйте отдельные библиотеки для каждой платформы, где располагается база данных.

Библиотека в этом контексте является совместно используемым объектом, который обычно имеет расширение dll на платформе Windows, расширение so для UNIX и Solaris и расширение si на HP-UX. Она может содержать одну или более точек входа для функций, определенных пользователем.

! ! !

СОВЕТ. Каталог Firebird /examples содержит некоторые старые примеры make- файлов (makefile.be и makefile.msc для систем Windows, makefile для UNIX), которые создают библиотеку ib_udf function из ib_udf.c.

. ! .

Процесс создания UDF состоит из четырех шагов:

1. Напишите функцию на любом языке программирования, который может создавать библиотеки совместного использования. Функция может принимать ограниченное количество входных параметров, но она должна возвращать один и только один результат. Функции, написанные на Java, не поддерживаются.

2. Скомпилируйте функцию и свяжите с динамически связываемой библиотекой (DLL) или с библиотекой совместно используемых объектов (SO) в соответствии с платформой.

3. Поместите библиотеку и любые требуемые символические ссылки в подходящее место на диске на серверной машине так, чтобы сервер мог получить к ней доступ в каталог по умолчанию /UDF или в альтернативный каталог, который вы сконфигурировали для библиотек внешних функций.

4. Используйте DECLARE EXTERNAL FUNCTION для объявления каждой индивидуальной UDF для каждой базы данных, в которой вам нужно ее использовать.

! ! !

ПРИМЕЧАНИЕ. Очень хорошей практикой является создание скрипта, содержащего объявления ваших UDF и некоторых комментариев, объясняющих использование.

. ! .

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

A.2. Изменение и очистка ваших таблиц

Из книги автора

A.2. Изменение и очистка ваших таблиц По мере того как вы продолжите углубляться в исследование iptables, перед вами все актуальнее будет вставать вопрос об удалении отдельных правил из цепочек без необходимости перезагрузки машины. Сейчас я попробую на него ответить. Если вы


Ждем ваших отзывов!

Из книги автора

Ждем ваших отзывов! Вы, уважаемый читатель, и есть главный критик и комментатор этой книги. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие


7.4.2.6. Добавление в LiveCD собственных пакетов

Из книги автора

7.4.2.6. Добавление в LiveCD собственных пакетов В предыдущем параграфе мы создали LiveCD с GNOME. Сейчас попробуем добавить в него другие пакеты, например Open Office (популярный офисный пакет) и Evolution (почтовый клиент и органайзер).Добавление пакетов в LiveCD осуществляется с помощью


Проведите интернет-анализ ваших конкурентов

Из книги автора

Проведите интернет-анализ ваших конкурентов Что мешает многим предпринимателям продвигать свой сайт? Главная проблема – это конкуренция. В этой главе мы рассмотрим, как быстро и эффективно провести анализ конкурентов в вашей нише в Интернете.Пошаговый алгоритм анализа


Применение собственных моделей с h -параметрами

Из книги автора

Применение собственных моделей с h-параметрами Сравним теперь нахождение коэффициентов усиления по напряжению и по току двумя методами: при использовании встроенной модели PSpice и при применении нашей собственной модели в h-параметрах для усилителя ОЭ. Последний метод


Глава 19. ПОДДЕРЖКА ЦЕЛОСТНОСТИ ВАШИХ ДАННЫХ

Из книги автора

Глава 19. ПОДДЕРЖКА ЦЕЛОСТНОСТИ ВАШИХ ДАННЫХ РАНЕЕ В ЭТОЙ КНИГЕ, МЫ УКАЗЫВАЛИ НА ОПРЕДЕЛЕННЫЕ связи которые существуют между некоторыми полями наших типовых таблиц. Поле snum таблицы Заказчиков, например, соответствует полю snum в таблице Продавцов и таблице Порядков. Поле cnum


Переносимость ваших скриптов на bash

Из книги автора

Переносимость ваших скриптов на bash При написании ваших собственных скриптов важно делать это так, чтобы они оставались переносимыми. Термин «переносимость» означает, что если ваш скрипт работает под Linux, то он должен работать в другой Unix-системе с малыми изменениями или


Использование своих собственных объектов

Из книги автора

Использование своих собственных объектов Объекты, основанные на созданных вами классах, используются аналогично встроенным объектам VBA и объектам вашего приложения.1. Объявите переменную для объекта, например:Dim objCustomThermostat As Thermostat2. Используйте оператор Set, чтобы создать


Обеспечение поддержки подписывания объектов в ваших классах

Из книги автора

Обеспечение поддержки подписывания объектов в ваших классах Традиционно при необходимости доступа к объектам, содержащимся в коллекциях — например, массивах и словарях, — программисту требовалось получить доступ к методу в словаре или массиве, чтобы получить или


Создание собственных диалоговых окон

Из книги автора

Создание собственных диалоговых окон Сложные приложения часто используют несколько форм. Например, во многих программах имеется диалоговое окно О программе, в котором отображаются информация о программе, номер версии, сведения об авторе и логотип компании.Для создания


Создание собственных шаблонов

Из книги автора

Создание собственных шаблонов Теперь сфокусируемся на том, как создать собственный шаблон. Перед началом работы над шаблоном необходимо обдумать некоторые ключевые моменты. Рассмотрим их по