TG Telegram Group & Channel
Scala bin | United States America (US)
Create: Update:

Захотел попробовать создать свой range тип в PostgreSQL, использующий альтернативную схему нормализации (canonicalization) диапазона (по умолчанию все range типы приводятся к форме [x, y) ). Главной проблемой становится объявление соответствующей функции, которая должна принимать в качестве аргумента ещё не созданный тип. В документации даже имеется специальная инструкция для разрешения данного конфликта.

В реальности, к сожалению, всё обстоит плачевнее - инструкция просто-напросто не работает. Оказывается, единственным способом создания собственной функции нормализации является написание модуля на С, который затем должен быть подключён как расширение PostgreSQL. Спасительным оказался модуль inetrange, в котором удалось найти пример такой функции, ещё и с Makefile.

Если вам когда-нибудь потребуется написать небольшое расширение для PostgreSQL, репозиторий данного модуля может стать хорошей точкой старта, поскольку в большинстве своём документация крайне скудна на детали.

Захотел попробовать создать свой range тип в PostgreSQL, использующий альтернативную схему нормализации (canonicalization) диапазона (по умолчанию все range типы приводятся к форме [x, y) ). Главной проблемой становится объявление соответствующей функции, которая должна принимать в качестве аргумента ещё не созданный тип. В документации даже имеется специальная инструкция для разрешения данного конфликта.

В реальности, к сожалению, всё обстоит плачевнее - инструкция просто-напросто не работает. Оказывается, единственным способом создания собственной функции нормализации является написание модуля на С, который затем должен быть подключён как расширение PostgreSQL. Спасительным оказался модуль inetrange, в котором удалось найти пример такой функции, ещё и с Makefile.

Если вам когда-нибудь потребуется написать небольшое расширение для PostgreSQL, репозиторий данного модуля может стать хорошей точкой старта, поскольку в большинстве своём документация крайне скудна на детали.


>>Click here to continue<<

Scala bin






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)