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

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

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

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

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

Date: 2013-04-07 06:10 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
А какая разница, если откат делать.

Date: 2013-04-07 06:17 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Вообще да, в большинстве моих случаев - никакой.

Date: 2013-04-07 07:36 pm (UTC)
From: [identity profile] madeveloper.livejournal.com
Разница начинает ощущаться из SQL-консоли...

Date: 2013-04-07 09:09 pm (UTC)
From: [identity profile] enternet.livejournal.com
А откуда у вас берутся ошибки в транзакциях? Может быть стоит освоить оператор MERGE? Я не в курсе, есть ли он или аналоги в перечисленных БД.

Date: 2013-04-08 01:49 am (UTC)
From: [identity profile] fraks-nsk.livejournal.com
MERGE в Firebird есть, но это тут ни при чем.
Откуда берутся ошибки - в исходном посте написано, в первой строке, в скобочках.
Edited Date: 2013-04-08 01:49 am (UTC)

Date: 2013-04-08 11:01 am (UTC)
From: [identity profile] enternet.livejournal.com
Что интересно, автор меня понял - а ты нет.

Date: 2013-04-08 03:29 pm (UTC)
From: [identity profile] fraks-nsk.livejournal.com
IMHO наоборот.

Date: 2013-04-08 11:10 am (UTC)
From: [identity profile] berezovsky.livejournal.com
Там база ошибками сыплет от наплыва запросов, а не запросы из-за нарушений целостности.

Date: 2013-04-08 11:12 am (UTC)
From: [identity profile] metaclass.livejournal.com
Не, это два разных случая. У меня было и то и другое - старый провайдер и странные глюки в нем под нагрузкой и отдельно нарушения целостности.

Date: 2013-04-08 04:26 am (UTC)
From: [identity profile] metaclass.livejournal.com
Автоматическая тестилка. Она выполняет и обычные и ошибочные операции.

Date: 2013-04-08 05:26 am (UTC)
From: [identity profile] tzirechnoy.livejournal.com
В postgres для цэнителей ужэ несколько лет есть nested transactions.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2025 02:11 am
Powered by Dreamwidth Studios