Бизнес-логика в хранимых процедурах
Feb. 10th, 2012 08:28 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я вот думаю: следует ли избавляться от сабжевых процедур, заменяя их на закат солнца вручную в виде кода на обычных языках программирования?
У меня 99% разнообразных отчетов реализовано на Firebird или в виде sql-запросов на пару страниц или в виде selectable хранимых процедур, тоже на пару страниц.
Все бы это хорошо, но деплоймент этого дела огорчает, язык хранимых процедур - более чем полная убогость, т.е. уровня типа "турбо-паскаль интегрированный с sql".
И главное ж, хрен чем заменишь - все остальное закат солнца вручную. В обычном случае - адовы ORM типа Entity Framework и LINQ поверх них. В условно нормальном - руби и ActiveRecord, с метапрограммированием, но у него адаптер к Firebird, по моему, несуществующий. Возможно, питон еще, у него тоже метапрограммирование имеется и kinterbasedb вроде живой.
Т.е. если по хорошему - то нужно что-то вроде LINQ, но чтобы схему БД видел сам, без импорта схемы в 100500 файлов.
PS: не успел дописать: Одна из нездоровых идей - написать транслятор из гуманного DSL с функциональщиной и школьницами с Ph.D. in CS в язык хранимых процедур.
У меня 99% разнообразных отчетов реализовано на Firebird или в виде sql-запросов на пару страниц или в виде selectable хранимых процедур, тоже на пару страниц.
Все бы это хорошо, но деплоймент этого дела огорчает, язык хранимых процедур - более чем полная убогость, т.е. уровня типа "турбо-паскаль интегрированный с sql".
И главное ж, хрен чем заменишь - все остальное закат солнца вручную. В обычном случае - адовы ORM типа Entity Framework и LINQ поверх них. В условно нормальном - руби и ActiveRecord, с метапрограммированием, но у него адаптер к Firebird, по моему, несуществующий. Возможно, питон еще, у него тоже метапрограммирование имеется и kinterbasedb вроде живой.
Т.е. если по хорошему - то нужно что-то вроде LINQ, но чтобы схему БД видел сам, без импорта схемы в 100500 файлов.
PS: не успел дописать: Одна из нездоровых идей - написать транслятор из гуманного DSL с функциональщиной и школьницами с Ph.D. in CS в язык хранимых процедур.
no subject
Date: 2012-02-10 09:56 am (UTC)no subject
Date: 2012-02-10 10:51 am (UTC)Впрочем, на жаббе можно писать подо что угодно - но этого почему-то никто не любит делать.
no subject
Date: 2012-02-10 06:08 pm (UTC)В январе на работе крутил мозг, и итоге заменил много pl/sql одним большим закросом, но с большой вложенностью decode, и не очень даже страшно выглядит даже.
no subject
Date: 2012-02-10 07:52 pm (UTC)no subject
Date: 2012-02-13 05:52 am (UTC)no subject
Date: 2012-02-13 06:10 am (UTC)no subject
Date: 2012-02-13 06:36 am (UTC)кстати, да, я так и не нашел области, куда можно эту монгу приткнуть.
no subject
Date: 2012-02-13 06:58 am (UTC)А general purpose языки, как было замечено, вполне доступны как минимум в PostgreSQL