nataraj: (Default)
Меня можно поздравить с тем, что у меня таки приняли мелко-патчи в постгрес.
До самого основного патча еще далеко, но уже хоть что-то.

773df883 - Support reloptions of enum type. В постгресе строковый тип опций таблиц использовался фактически как enum, всякий раз писать функцию валидации походу не правильно, лучше прямо сделать его enum'ом.
640c1986 - Add dummy_index_am to src/test/modules/ so it can be used for test purposes and as an access method example
nataraj: (Default)
и не только налаживаемость. Но еще и компилируемость...

Для тех кто занимается разработкой постгреса. В рассылке товарищи показали интересный сервис:

http://commitfest.cputube.org/

Там для патчей текущего и предстоящего комитфеста приведена статистика того как эти патчи накладываются на текущей мастер, и собираются ли после этого. В том числе и виндой. Что чертовски полезно для нашей безвиндовой ситуации...

Чего этому сервису не хватает, так это системы оповещений. Я по всей видимости буду писать скриптик который из моих статусов (ну и не только моих, пусть в параметрах указывается) будет делать RSS-feed.
nataraj: (Default)
ERROR:  incompatible library "/home/nataraj/.../lib/postgresql/dummy_index.so": missing magic block
HINT:  Extension libraries are required to use the PG_MODULE_MAGIC macro.
nataraj: (Default)
Понадобилось мне собрать пострес под винду (там какая-то MSVS-специфичная ошибка). Надо. А трогать эту субстанцию больше необходимого ну очень не хочется.
Коллега поделился образом вируталки в которой все окружение для сборки уже подготовлено, только клонируй и запусти. Спасибо коллеге...

Преодолевая трудности (нельзя просто так взять и сделать бридж для вайфайной карты) пытаюсь ее запустить у себя на ноутбуке. Ноут не тянет... Он и фейсбук в браузере не очень тянет, какая виртуалка...

Хорошо, обращаюсь к знакомому, у которого на рабочих станциях лиукс, типа дай погонять... Он говорит, что погонять не даст, но выдаст свой старый виндовый комп, который мощнее всех его линуксовых, за одно и линукс на него типа поставишь...

Преодолевая трудности (нет драйверов для сиди-рома, дебиановский лайв-сиди почему-то не видит сетевуху), перекидываю данные с самого маленького диска на остальные (их там много было) и ставлю на малый диск линукс...

Тут выясняется что на этот маленький диск образ виртуалки просто не помещается... Диск совсем маленький. Ну я в результате кладу его на диски с данными которые от винды остались, ntfs'ные...

Итого. Для того чтобы собрать постгрес под винду, я снес винду, чтобы поставить линукс, положить виртуалку на ntfs'ный диск запустить винду в виртуалке и таки собрать постгрес...

И вы еще удивляетесь что я медленно программирую...

PS поставил бы еще тег "слабоумие и отвага", но он про другое...
nataraj: (Default)
[syndicated profile] postgres_commitfest_feed уже окупился. Отловил желающего потоптаться по той части кода, которую я сейчас ковыряю. Прямо на ранних подступах отловил.
Польза.
nataraj: (Default)
Медленно но верно движусь в направлении закрытия своих опесорсных долгов.
А то патчи понимаешь, написаны, но не зкаоммичены. Безобразие.
Мой мега патч полностью переделывающий работу с опциятми таблиц был в результате мучительно медленного взаимодействия с комьюнити порезан на части и отправлен на коммитфест.

https://commitfest.postgresql.org/15/1314/ (уже закомимчен) - тесты на работу опций таблицы. (Таковых раньше не было)
https://commitfest.postgresql.org/17/1489/ - добавляет тип опции Enum (а то раньше его по сути эмулировали строковой опцией, с рукописной функции валидации)
https://commitfest.postgresql.org/17/1536/ - вместо единого бинарного преставления опций для более половины типов relation'ов, вводит индивидуальные представления на каждый тип. Иначе получалось, что задаешь ты индексу fillfactor а память под него резервируется на все опции которые возможны для heap'а. Потому что универсально.

Последнее вот только что доковырял.
Как последние два закоммитят, можно будет финальный патч коммитить. Который старый механизм работы опций разрушает до основания, а затем...

Еще есть странный https://commitfest.postgresql.org/17/1486/ который тоже к теме опций отношения имеет.
Там история в том, что если задать опции работы TOAST'а для таблицы в которой TOAST'а нет, то постгрес это молча съест, а значения опций просто потеряются. Я в этом патче предлагаю непущать, но в рассылке меня убедили что так нельзя. Поэтому наверное вместо этого надо будет пренудительно создавать TOAST-таблицу ставить туда опции и предупреждать, что "чувак, ты что-то странное делаешь". Но пока какой-то финальной отмашки я в рассылке не получил, и непонятно, получу ли...
nataraj: (Default)
Сделал парсилку постргессового коммитфеста, с заворачиванием новых патчей в RSS-поток. Чтобы не отвлекаясь от чтения DW узнавать о новых патчах и ловить те, которые мне по силам и интересам ревьюить.

В DW доступно как [syndicated profile] postgres_commitfest_feed, для остальных -- http://perl.nataraj.su/commitfest-rss/commitfest-rss.pl
Немного потестю, и наверное надо будет написать в соответствующую рассылку, с предложением сделать такое-же, но уже напрямую из базы. Тогда же и исходник опубликую...
nataraj: (Default)
Между тем, пока я активно болел спиной, я таки сделал это. Я отправил на коммит тот патч, который я слишком медленно программировал перед тем как покинуть последнее место работы. Даже не весь патч, а его первую половину. Вторая так и существует в виде пруф-оф концепта пока.

Патч получился монструозный. Полностью перетряхнута и почти полностью переписана подсистема опций таблиц, и своими корнями он уходит, ну не в пол постгреса конечно, но в десятую часть, так точно...

https://commitfest.postgresql.org/13/992/

Рассылка правда нефига не возбудилась. Правда Альваро (который эту систему опций когда-то писал) в привате обещал в рамках мартовского коммитфеста этот патч отревьюить. Так что ждем. Надеюсь будет у меня еще кусочек программистского портфолио...

В дальнейших планах закоммитить гостовское шифрование для xmlsec'а, довести до ума и закоммитить опции индексных колонок для postgres'а. И если дадут, то опубликовать перловый модуль для монтирования хеш-дерева в качестве fuse файловой системы.
А дальше видно будет.

А пока жду отзыва комьюнити и перетряхиваю свой сервак...

Имена

Jun. 23rd, 2016 03:40 pm
nataraj: (Бритый небритый)
Я предпочитаю называть переменные так, чтобы из имени было понятно, кто на ком стоял. Ну или по крайней мере требовало минимальное знание контекста. Правда получаются вот такие вот монстры: STRING_OPTION_VALUE_NOT_SET_OFFSET

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 6th, 2025 06:12 am
Powered by Dreamwidth Studios