ltree_plpython2u
Трансформация для типа ltree в структуру PL/Python2u.
Связанные компоненты: ltree, plpython2u.
Схема размещения:
ext
.Этот модуль реализует трансформации типа данных ltree для недоверенного (
untrusted
) языка PL/Python2.Существуют дополнительные расширения, реализующие трансформации типа
ltree
для PL/Python:- ltree_plpythonu для языка Python untrusted;
- ltree_plpython2u для языка Python2 untrusted;
- ltree_plpython3u для языка Python3 untrusted (связанное расширение
plpython3u
отсутствует в дистрибутиве поставки Компонента версии до5.3.0
).
Если установить эти трансформации и указать их при создании функции, значения ltree будут отображаться в словаре Python. Обратное преобразование не поддерживается.
- Рекомендуется устанавливать в одну схему с ltree.
- Обратное преобразование не поддерживается.
-
Пример № 1:
CREATE FUNCTION test1(val ltree) RETURNS int LANGUAGE plpython2u TRANSFORM FOR TYPE ltree AS $$ plpy.info(repr(val)) return len(val) $$; SELECT test1('aa.bb.cc'::ltree);
Пример вывода результата:Раскрыть type=sqlINFO: ['aa', 'bb', 'cc'] test1 ------- 3 (1 row)
-
Пример № 2:
CREATE FUNCTION test1n(val ltree) RETURNS int LANGUAGE plpython2u TRANSFORM FOR TYPE ltree AS $$ plpy.info(repr(val)) return len(val) $$; SELECT test1n('aa.bb.cc.free'::ltree);
Пример вывода результата:Раскрыть type=sqlINFO: ['aa', 'bb', 'cc', 'free'] test1n -------- 4 (1 row)
Дополнительную информацию по поставляемому модулю ltree_plpython2u можно получить по ссылке.