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. Обратное преобразование не поддерживается.

Ограничения

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

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

  • Пример № 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=sql
    INFO:  ['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=sql
    INFO:  ['aa', 'bb', 'cc', 'free']
     test1n
    --------
          4
    (1 row)
    

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

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