Внутренние функции
Внутренние функции — это функции, написанные на нативном языке, которые статически скомпонованы в сервер QHB. В «теле» определения функции указано ее имя на нативном языке, которое не обязательно должно совпадать с именем, объявленным для использования в SQL. (Из соображений обратной совместимости принимается и пустое «тело» функции, означая, что имя функции на нативном языке совпадает с SQL-именем).
Обычно все присутствующие на сервере внутренние функции объявляются во время
инициализации кластера базы данных (см. раздел Создание кластера баз данных),
но пользователь может использовать CREATE FUNCTION для создания дополнительного
псевдонима внутренней функции. Внутренние функции объявляются в CREATE FUNCTION
с именем языка internal. Например, таким образом можно создать псевдоним для
функции sqrt:
CREATE FUNCTION square_root(double precision) RETURNS double precision
AS 'dsqrt'
LANGUAGE internal
STRICT;
(Большинство внутренних функций следует объявлять как «строгие» (STRICT).)
Примечание
Не все «предопределенные» функции являются «внутренними» в вышеописанном смысле. Некоторые предопределенные функции написаны на SQL.