некоторыми флагами, для него определены равенство, отношения порядка, каст в text, может ещё что-то по мелочи. Скажите, можно/имеет ли смысл такое сделать на чистом SQL? Как я понял, можно CREATE TYPE(text, int) + набор функций и операторов, получится ли так полноценный тип (по сравнению с CREATE TYPE (input/output/receive/send) с имплементациями на C)?
Если что, делаю тип для версии. Т.е. такие строки для которых '1.0' = '1.0.0'. Вот что-то накидал: https://gist.github.com/AMDmi3/e44c5713890aa5ebbb25316c9d628adc, но остались вопросы - как сделать каст в/из текстового представления? cast в/из text есть, но '1.2'::version не работает и тип показывается как ('1.2', 0), а хочется просто 1.2 - что нужно чтобы работал group by? хотя 1.0 = 1.0.0, они не группируются в одну запись
Обсуждают сегодня