BigAndy » 05 ноя 2010, 13:51
Вчера вкуривал исходники Денси:Касса.
Конечно, в 2 часа ночи особо много не накуришь, в особенности после почти десятилетнего перерыва работы с кодом, но одно понял: А нафига логирование делать средствами кассы, когда с этим прекрасно справляется сам Postgres. Например, я обнаружил, что в триггеры Before insert/update и правила Before select прекрасно могут справиться с поставленной задачей. Профит от этого вот какой: Если переходить на сетецентрическую архитектуру, то при помощи такого метода можно централизованно решить проблему хранения в одной таблице transactions (или их partition частях) транзакций от всех касс. при этом даже код программы модифицировать не придется, если подменить ссылку на таблицу transactions ссылкой на представление с таким же именем, где производится только для данного клиента.
Вообще, 1 и 3-я нормальные формы рекомендуют максимум логики делать при помощи RDBMS, ибо тупо ресурсов куча экономится.