Лыцарь пичальнава образа - Достали! [entries|archive|friends|userinfo]
silly_sad

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Достали! [Sep. 24th, 2010|12:02 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
А давайте форкнем постгрес и будем выкорчёвывать из него всё говно?

Сначала выкорчуем CSTRING и BYTEA.
Потом уберём лишние эксипшины: из приведения типов будем вертать NULL вместо исключения.
Потом сделаем нормальное понятие о часовых поясах. (и возможно вместо двух типов TIMESTAMP станет один)

ещё предложения?
LinkLeave a comment

Comments:
From:[info]tzirechnoy.livejournal.com
Date:September 24th, 2010 - 10:36 am
(Link)
Выкорчевать ARRAY.
From:[info]silly_sad
Date:September 24th, 2010 - 11:48 am
(Link)
за что?
From:[info]tzirechnoy.livejournal.com
Date:September 24th, 2010 - 12:02 pm
(Link)
У нас RDBMS. Такие отношэния здесь делаются другими методами.
From:[info]silly_sad
Date:September 24th, 2010 - 12:05 pm
(Link)
плохой аргумент.
ARRAY выкорчуем за то что есть HSTORE

а понимаете, тут дело в уровне абстракции. не все отношения тянут на то чтобы быть формализованными на таком фундаментальном уровне как Отношения (в терминах RDBMS)

дынные бывают слабо-структурированными и вобшем НОРМАЛЬНОСТЬ (в терминах нормальных форм) относительна. Мы можем выбрать точку зрения при которой и массив будет атомом (но вводить выводить его проще как массив (где-то В ДРУГОМ МЕСТЕ он неатомарен))
From:[info]tzirechnoy.livejournal.com
Date:September 24th, 2010 - 12:25 pm
(Link)
>на таком фундаментальном уровне как Отношения

В уровне отношэний ничего спецыфичного нет. Он, в общем, точно такой жэ уровень абстракци как ARRAY.

Если не нравится, что для доступа к нему херовый синтаксис -- надо менять синтаксис. Если не нравится, что доступ к нему тормозит -- надо менять аксэссоры.

А текущая ситуацыя, когда есть две одинаковые (ну, одна более убогая) абстракцыи для одного и того жэ, и отличаются они тем, что физически хранят данные по-разному -- это не абстракцыя. Это херня.
From:[info]silly_sad
Date:September 24th, 2010 - 12:30 pm
(Link)
не совсем.
это с точки зрения сферического коня херня конечно.
но с прикладной точки зрения не всё в этом мире должно быть раздроблено на атомы и разложено по полочкам. (Торт и шашлык я бы предпочёл не нормализовывать.) Если мне нужна целостность, я использую Отношения, если мне не нужна целостность, не использую.

В реале мы всегда работаем с ошибочными данными, и нам нужен инструмент чтобы провести границу терпимости к ошибкам.
(Если мы всё препарируем до простейших отношений) мы не терпим ошибок совсем и мы нигде не найдём _годный_ источник данных который бы удовлетворил такую базу.
From:[info]silly_sad
Date:September 27th, 2010 - 07:45 am
(Link)
любые реальные данные полны отношений РАЗНОЙ ВАЖНОСТИ.
нельзя пренебрегать этой разницей.
From:[info]tzirechnoy.livejournal.com
Date:September 24th, 2010 - 10:38 am
(Link)
И да, я за.

TIMESTAMPы вообще надо переделывать невзирая на спинную совместимость.

Ну, или взирая -- но кто её хочет пусть втыкает дополнительные библиотеки на PL/PgSQL. Поскольку сколько раз не сталкиваюсь -- столько у меня возникает подозрение, что с этими интэрфейсами что-то противоестественное.
From:[info]silly_sad
Date:September 24th, 2010 - 11:51 am
(Link)
я бы вот терпимее был к посгресовским таймстэмпам (учитывая что они первые и единственные хоть как-то работающие в этом мире) если бы не отношения между "TimestampTZ" и "Timestamp".

это же ебануцца можно просто брать и ОТБРАСЫВАТЬ показания таймзоны при приведении типов.
From:[info]deepcored.livejournal.com
Date:September 24th, 2010 - 12:39 pm
(Link)
Я согласен насчет строк. Остальное - по ходу дела уже. Ну что заводим проект на гугло коде?
From:[info]silly_sad
Date:September 24th, 2010 - 12:48 pm
(Link)
смелый ты.
давай хоть суток двое подождём отзывов других людей. тут у нас ещё Витус бывает с умными мыслями.
From:[info]silly_sad
Date:September 27th, 2010 - 07:43 am
(Link)
ты можешь предложить методику отыскания капканов связанных со сменой типа строк?
ибо капканов в исходниках будет сотня тысяч и доводить отладку до сегфолтов и дебаггера было бы излишне.