Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:06 28.04.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: така де [re: salle]
Автор Dakota (erotoman)
Публикувано07.12.09 19:07  



На кой стандарт? В

, където има доста неща за транзакциите, не намирам нищо такова... или пък е описано прекалено абстрактно.

Единственото нещо, което потенциално оправдава подобно поведение е следното: "If execution of a <commit statement> is attempted, but certain exception conditions are raised, it is unknown whether or not the changes made to SQL-data or schemas by that SQL-transaction are canceled or made persistent."

Иначе не смятам, че транзакциите ме освобождават от съответното задължение, но очаквам СУБД да прави все пак нещо самичка, най-малкото да знае състоянието на собствената си транзакция, а не аз с външна логика да го определям. То е ясно, че в клиентското приложение мога да реализирам и констрейнти и тригери, че и сикуънси...

В този смисъл, предпочитам да изхождам от презумпцията, че всяка инструкция е критично важна, а не от обратната - че грешките нищо не значат. Най-малкото, това е една от основните причини изобщо да се използват транзакции - защото всички инструкции са важни и зависещи една от друга и представляват една логическа единица (операция), съответно частичният успех не е вариант. Ако пък толкова искам умишлено да изолирам част от транзакцията като не-важна, мога да го направя с изрични чек-пойнтове.

Това, което пише в Уикипедия е в същия дух.

Та, тук общо взето спорът се свежда до следното - какво точно означава командата commit?

И чия е отговорността?

За мен пускането на commit е равносилно на това да кажа на базата следното: "Виж сега, бях ти пуснал няколко команди в транзакция и искам сега да се опиташ да я завършиш успешно!"

И очаквам тя да ми отвърне: "Абе ти хубаво ми пусна команди, ама някои от тях изгърмяха, така че няма да стане твоята, защото транзакциите са нещо атомарно и не мога да завърша тази транзакция успешно, заради възникналите грешки."

А не да ми излиза с някакви женски номера от типа: "Еми аз нали ти казах и изревах, че има грешки. Ти въпреки това написа commit, значи си поел отговорност за това и си счел, че грешките не са важни."

Е не, няма такъв номер. Такъв вариант е напълно неприемлив за мен - или транзакциите са атомарни, или не са. В последния случай излиза, че не са. И дори потенциално аз да нося вината за това, пишейки commit, базата не трябва да ми позволява да го правя, защото това противоречи на самата концепция за транзакция.



"Договор, подписан с Русия, струва по-малко от хартията, върху която е написан!" - Бисмарк

Редактирано от Dakota на 07.12.09 19:25.



Цялата тема
ТемаАвторПубликувано
* Транзакции в MySQL 5.0 Dakota   30.11.09 15:30
. * Re: Транзакции в MySQL 5.0 wqw   01.12.09 01:36
. * Re: Транзакции в MySQL 5.0 salle   05.12.09 01:10
. * така де Dakota   07.12.09 13:42
. * Re: така де salle   07.12.09 14:41
. * Re: така де wqw   07.12.09 15:14
. * Re: така де Dakota   07.12.09 19:07
. * Re: така де Aaron   07.12.09 20:49
. * Re: така де salle   08.12.09 11:58
. * прехвърляне на топката Dakota   09.12.09 18:10
. * Re: прехвърляне на топката Aaron   09.12.09 23:48
. * Re: прехвърляне на топката wqw   10.12.09 02:13
. * Re: прехвърляне на топката salle   10.12.09 11:49
. * Re: прехвърляне на топката Dakota   10.12.09 12:14
. * Re: прехвърляне на топката salle   10.12.09 11:42
. * Re: прехвърляне на топката Dakota   10.12.09 12:13
. * Re: прехвърляне на топката bira_more   10.12.09 20:27
. * Re: прехвърляне на топката salle   12.12.09 17:39
. * Re: прехвърляне на топката Dakota   13.12.09 01:34
. * Re: прехвърляне на топката wqw   13.12.09 01:41
. * Re: прехвърляне на топката salle   13.12.09 18:13
. * Re: прехвърляне на топката NDeu   14.12.09 09:29
. * Re: прехвърляне на топката salle   14.12.09 16:57
. * окей Dakota   15.12.09 12:45
. * Re: окей wqw   15.12.09 12:52
. * Re: окей Dakota   15.12.09 14:53
. * Re: окей wqw   16.12.09 12:15
. * Re: окей wqw   16.12.09 12:17
. * Re: окей Dakota   16.12.09 13:34
. * Re: окей wqw   16.12.09 13:39
. * Re: окей Dakota   16.12.09 15:04
. * Re: окей wqw   16.12.09 15:24
. * Re: окей Dakota   16.12.09 16:23
. * Re: Транзакции в MySQL 5.0 Aaron   06.12.09 13:02
. * Re: Транзакции в MySQL 5.0 salle   07.12.09 13:10
. * Re: Транзакции в MySQL 5.0 Aaron   07.12.09 18:42
. * Re: Транзакции в MySQL 5.0 salle   08.12.09 10:33
. * Re: Транзакции в MySQL 5.0 Aaron   08.12.09 10:51
. * Re: Транзакции в MySQL 5.0 sonic86   28.12.09 21:25
. * Re: Транзакции в MySQL 5.0 Aaron   29.12.09 09:48
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.