Postgres 9.3
Посмотрел, чего добавили в Postgres новый.
Все огорчает, т.к. никак не коррелирует с другими СУБД, соответственно - использовал новую фичу - прибил себя гвоздями к постгресу.
Всякие там json-типы данных, да какие-то lateral join да внешние источники данных.
Даже не знаю, имеет ли смысл углублятся в эти нетривиальные SQL-расширения, потому как сделать все методом "сгенерил стандартный SQL и потом обработал результат на более мирном языке" выглядит более future-proof. Это что касается чтения данных.
А в плане записи - вообще все хреново, триггера везде разные, автоинкременты разные, глаза б этого всего не видели, но реализация "вся логика в сервере приложений или клиенте" выглядит еще более неприятно.
Все огорчает, т.к. никак не коррелирует с другими СУБД, соответственно - использовал новую фичу - прибил себя гвоздями к постгресу.
Всякие там json-типы данных, да какие-то lateral join да внешние источники данных.
Даже не знаю, имеет ли смысл углублятся в эти нетривиальные SQL-расширения, потому как сделать все методом "сгенерил стандартный SQL и потом обработал результат на более мирном языке" выглядит более future-proof. Это что касается чтения данных.
А в плане записи - вообще все хреново, триггера везде разные, автоинкременты разные, глаза б этого всего не видели, но реализация "вся логика в сервере приложений или клиенте" выглядит еще более неприятно.
no subject
Но на триггерах оно как минимум не зависит от клиента подключающегося к БД - хоть там сервер приложений, хоть расчетный сервис, хоть двухзвенка или юзер из консольного клиента БД подключился.
И на любом языке это проделывается либо неудобно, либо неподдерживаемо, либо непригодно к использованию, ибо задача проклятая и в общем случае решаема только при использовании дикой функциональщины с иммутабельностью и линзами.
no subject
no subject
А по факту имеем API: входные данные отпарсить смогут только эти твои пауки, а выходные - вообще небось пропиетарны и читаются только сишными либами от вендора.
Я уже даже и не говорю, что уже 40 лет этой херне, а master-detail хоть как-то стандартно и разумно ни из одной базы прочитать нельзя.
no subject
no subject
Крокодил же недавно демонстрировал - выброка из базы списка курсоров.
no subject
no subject