bool_plperl. Трансформация для логических значений
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты:
plperl
.Схема размещения:
ext
.
Модуль представляет собой реализацию механизма трансформации для логических значений.
По умолчанию значения bool
передаются в PL/Perl
в текстовом виде, то есть как 't'
или 'f'
. Perl
не будет воспринимать 'f'
как false
. Для решения этой проблемы применяется трансформация (CREATE TRANSFORM
).
В результате работы механизма трансформации Perl
будет получать аргумент bool
как 1
или пустое значение. Для Perl это будет выглядеть как true
или false
. Если функция возвращает результат типа bool
, выдается значение true
или false
в зависимости от того, считается ли в Perl
результат истинным или ложным.
Доработка
Не проводилась.
Ограничения
Ограничений нет.
Установка
При наличии прав администратора СУБД включение модуля возможно выполнить вручную:
CREATE EXTENSION bool_plperl CASCADE SCHEMA ext;
Настройка
Не требуется.
Использование модуля
После подключения расширения достаточно использовать атрибут TRANSFORM
для функции на PL/Perl
, которая принимает и выдает bool
:
CREATE FUNCTION имя_функции (типы аргументов) RETURNS тип результата
TRANSFORM FOR TYPE bool
AS $$
# Тело функции на PL/Perl
$$ LANGUAGE plperl;
С подходами, используемыми при работе с массивами, скалярами и аргументами составного типа можно ознакомиться по ссылке на документацию разработчика, приведенной в последнем параграфе.
Ссылки на документацию разработчика
Дополнительно поставляемый модуль bool_plperl: https://www.postgresql.org/docs/15/plperl-funcs.html.