ltree_plpythonu
Трансформация для типа ltree в структуру PL/Pythonu.
Схема размещения:
ext.Модуль реализует трансформации типа данных ltree для недоверенного (
untrusted) языка PL/Python.Существуют дополнительные расширения, реализующие трансформации типа
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 testp1(val ltree) RETURNS int LANGUAGE plpythonu TRANSFORM FOR TYPE ltree AS $$ plpy.info(repr(val)) return len(val) $$; SELECT testp1('aa.bb.cc'::ltree);Пример вывода результата:INFO: ['aa', 'bb', 'cc'] testp1 ------- 3 (1 row) -
Пример № 2:
CREATE FUNCTION test4n(val ltree) RETURNS int LANGUAGE plpythonu TRANSFORM FOR TYPE ltree AS $$ plpy.info(repr(val)) return len(val) $$; SELECT test4n('aa.bb.cc.free.ddd'::ltree);Пример вывода результата:INFO: ['aa', 'bb', 'cc', 'free', 'ddd'] test4n -------- 5 (1 row)
Дополнительную информацию по поставляемому модулю ltree_plpythonu можно получить по ссылке.