ltree_plpythonu

Трансформация для типа ltree в структуру PL/Pythonu.
Связанные компоненты: ltree, plpythonu.
Схема размещения: 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. Обратное преобразование не поддерживается.

Ограничения

  1. Рекомендуется устанавливать в одну схему с ltree.
  2. Обратное преобразование не поддерживается.

Использование модуля

  • Пример № 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);
    
    Пример вывода результата:
    Раскрыть type=sql
    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);
    
    Пример вывода результата:
    Раскрыть type=sql
    INFO:  ['aa', 'bb', 'cc', 'free', 'ddd']
     test4n
    --------
          5
    (1 row)
    

Ссылки на документацию разработчика

Дополнительную информацию по поставляемому модулю ltree_plpythonu можно получить по ссылке.
Предыдущий раздел
ltree_plpython3u
Следующий раздел
moddatetime
Была ли страница полезной?