metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-07 09:00 pm

А вот еще про разницу между СУБД

Выполняем в транзакции ошибочный запрос (переполнение или нарушение констрейнтов)
Firebird: текущий запрос атомарно не выполняется, транзакция остается активной и позволяет выполнять команды дальше.
Postgresql: транзакция становится некошерной и в ней более ни одна команда не выполняется.

Теоретически, против косяков в клиентском коде типа отсутствия обработки ошибок, второй вариант кажется более разумным.

[identity profile] falcrum.livejournal.com 2013-04-07 06:04 pm (UTC)(link)
Фиг его знает, хорошо ли не руками давать роллбэк - во всяком разе, иметь возможность сказать "ну и фиг с ним!" хотелось бы.

[identity profile] metaclass.livejournal.com 2013-04-07 06:09 pm (UTC)(link)
Вот я к такому привык, потому что обычно я все разумные ошибки проверяю, а неучтенные означают, что там все плохо и надо руками делать роллбак в finally.

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