Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7   вперед  Ctrl      все
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Gluk (Kazan)
hvlad
Commit savepoint'а это просто указание движку забыть об этом savepoint'е. Я сильно сомневаюсь, что в Оракле это не так.
Впрочем ссылка меня может переубедить и сильно удивить (обычно у Оракла здравый смысл таки присутствует)


В Oracle savepoint-у НЕЛЬЗЯ делать commit, только rollback
если было бы можно - тогда действительно был бы маразм
Слава Ларри, я в него верил :)


дык
27 сен 07, 12:10    [4723052]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9993
Пьяный Лох
Когда напишете - тогда приходите.

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

savepoint A;
try
........ <<< W
release savepoint A;
except
rollback to savepoint A;
raise;
end;

PS: Я пытаюсь уловить не "важность" фразы "вложенная транзакция", а реальный смысл и реальные отличия от точек сохранения.
27 сен 07, 12:59    [4723490]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dmitry Arefiev
PS: Я пытаюсь уловить не "важность" фразы "вложенная транзакция", а реальный смысл и реальные отличия от точек сохранения.


Вы пытаетесь рассматривать какие-то абстрактные вложенные транзакции не существующие в природе
27 сен 07, 13:08    [4723570]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9993
Gluk (Kazan)
Вы пытаетесь рассматривать какие-то абстрактные вложенные транзакции не существующие в природе

Скажем так - с их рассмотрение я связался при обсуждении dbExpress 5 :) Мне указали, что вложенные транзакции нужно поддерживать и мол это совсем другое, нежели точки сохранения.

Но можно долго пытаться увидеть в них модельную разницу. На практике - программисту доступны плоские транзакции и точки сохранения (автономные транзакции Oracle и синтаксис вложенных транзакций в MSSQL в расчет не беру). Последние могут быть вложенными.

Остальное все - обсуждение какого цвета была бы шерсть у вуглускра, если бы он существовал.
27 сен 07, 13:30    [4723764]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
точки сохранения не могут быть вложенными, а вложенных транзакций (в том понимании в котором вы их ищите) действительно не существует (да и не нужны они)
27 сен 07, 13:32    [4723780]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
hvlad
Member

Откуда:
Сообщений: 11551
Dmitry Arefiev
На практике - программисту доступны плоские транзакции и точки сохранения (автономные транзакции Oracle и синтаксис вложенных транзакций в MSSQL в расчет не беру). Последние могут быть вложенными.
Ещё раз - нет никаких вложенных транзакций в MSSQL.
То, что там названо nested transactions, на самом деле ничем не отличается от обычных savepoint.
27 сен 07, 13:39    [4723860]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
2 Gluk (Kazan)
Не надо с больной головы на здоровую. Я говорил про вложенные транзакции.

Вы, простите, говорили про какие вложенные транзакции? Про те, что MS называет вложенными? Так это не сахар, а самая обычная профанация, не имеющая никакого отношения ко вложенным транзакциям.

----------------------

2 Dmitry Arefiev
Т.е. проблема только в том, что точки отката унаследывают уровень изоляции, а вложенные транзакции позволяют его установить другим. Т.к. то, что будет происходить в W, будет обладать атомарностью, консистентностью и изолированностью той же как и внешняя транзакция по отношению к другим транзакциями, включая "содержащую" транзакцию.

Проблема в том, что сейвпоинт невозможно закоммитить. Он не самодостаточен, в отличие от транзакции.
А то, что MS называет вложенной транзакцией - невозможно откатить (не убив при этом все вышестоящее).
Что называют вложенными транзакциями в dbExpress5 - я не знаю.
27 сен 07, 13:51    [4724002]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Gluk (Kazan)
Вы пытаетесь рассматривать какие-то абстрактные вложенные транзакции не существующие в природе

Вообще-то "абстрактные вложенные транзакции не существующие в природе" - существуют. В MS Access, например :)
27 сен 07, 13:57    [4724068]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Dmitry Arefiev
На практике - программисту доступны плоские транзакции и точки сохранения (автономные транзакции Oracle и синтаксис вложенных транзакций в MSSQL в расчет не беру). Последние могут быть вложенными.
Ещё раз - нет никаких вложенных транзакций в MSSQL.
То, что там названо nested transactions, на самом деле ничем не отличается от обычных savepoint.


Не имеют они ДАЖЕ с savepoint-ами НИЧЕГО общего, ибо не сайвают и не пойнтят ничего а только увеличивают счетчик вложенности, который commit-ы уменьшают. Как до нуля доходит фиксируется. Какие это нафик savepoint-ы ???
27 сен 07, 13:58    [4724078]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Пьяный Лох
Gluk (Kazan)
Вы пытаетесь рассматривать какие-то абстрактные вложенные транзакции не существующие в природе

Вообще-то "абстрактные вложенные транзакции не существующие в природе" - существуют. В MS Access, например :)


Там вообще транзакций не существует. Ни вложенных ни плоских.
27 сен 07, 13:59    [4724086]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Пьяный Лох
2 Gluk (Kazan)
Не надо с больной головы на здоровую. Я говорил про вложенные транзакции.

Вы, простите, говорили про какие вложенные транзакции? Про те, что MS называет вложенными? Так это не сахар, а самая обычная профанация, не имеющая никакого отношения ко вложенным транзакциям.


их родимых, от savepoint-ов хоть какая-то польза есть
27 сен 07, 14:00    [4724104]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Gluk (Kazan)
Там вообще транзакций не существует. Ни вложенных ни плоских.

Дададад.
Транзакции существуют только в оракле :)
27 сен 07, 14:01    [4724105]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Пьяный Лох
Gluk (Kazan)
Там вообще транзакций не существует. Ни вложенных ни плоских.

Дададад.
Транзакции существуют только в оракле :)


ну почему же ? И в MS SQL и в DB2 и в Postgress-е
Это в акцесе недоразуменее какое-то (вы еще FoxPro вспомните, то-т фанаты порадюца)
27 сен 07, 14:09    [4724184]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9993
hvlad
Ещё раз - нет никаких вложенных транзакций в MSSQL. То, что там названо nested transactions, на самом деле ничем не отличается от обычных savepoint.

Я про то и говорю. Но коли их MS назвала вложенными, то пусть так и будут называться.
Gluk (Kazan)
точки сохранения не могут быть вложенными, а вложенных транзакций (в том понимании в котором вы их ищите) действительно не существует (да и не нужны они)

savepoint A;
try
  ....
  savepoint B;
  try
     ....
     savepoint C;
     try
       ....
     except
       rollback to savepoint C;
     end;
  except
     rollback to savepoint B;
  end;
except
  rollback to savepoint A;
end;
В том смысле вложенные, что откат к A удалит и B и C.
Я не искал вложенные транзакции, я скорее всего искал их отсутствие :)
27 сен 07, 14:14    [4724230]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Gluk (Kazan)
ну почему же ? И в MS SQL и в DB2 и в Postgress-е

Бедный, бедный hvlad...
Его тоже без транзакций оставили...
Впрочем, если он попробует сказать, что они в FB есть, то тут же найдутся очередные фанаты, объевшиеся сырого мяса :)

Это в акцесе недоразуменее какое-то (вы еще FoxPro вспомните, то-т фанаты порадюца)

Фокс вспоминать не буду. Я его и не знал никогда.
В общем, не будем отклоняться от темы. Если хотите - упорствуйте в своей глупости, не буду мешать. В аксесе от этого не станет меньше транзакций, в том числе и вложенных.
27 сен 07, 14:14    [4724236]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
2 Dmitry Arefiev
В том смысле вложенные, что откат к A удалит и B и C.

Для этого вообще не нужны B и C

Я не искал вложенные транзакции, я скорее всего искал их отсутствие :)

В MS SQL вложенных транзакций нет. Вы нашли отсутствие. Поздравляю :)
27 сен 07, 14:16    [4724255]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Пьяный Лох
2 Dmitry Arefiev
В том смысле вложенные, что откат к A удалит и B и C.

Для этого вообще не нужны B и C

В том смысле, что при внешнем rollback поведение что сейвпоинтов, что вложенных транзакций, что псевдовложенных транзакций - идентично. Внутренности роли уже не играют.
Различия есть только при внешнем commit и внутреннем rollback.
27 сен 07, 14:26    [4724340]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54768

Пьяный Лох
фанаты, объевшиеся сырого мяса :)

Кстати, татарский бифштекс это немецкое блюдо. Во всяком случае мне так
сказали.

Posted via ActualForum NNTP Server 1.4

27 сен 07, 14:26    [4724341]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9993
Пьяный Лох
В MS SQL вложенных транзакций нет. Вы нашли отсутствие. Поздравляю :)

Спасибо. Надеюсь, что вложенных транзакций нет и в остальном реальном мире :)
27 сен 07, 14:27    [4724349]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Yo.!
Guest
Пьяный Лох
Если хотите - упорствуйте в своей глупости, не буду мешать. В аксесе от этого не станет меньше транзакций, в том числе и вложенных.

но и больше их там не станет, обычный развод Лохов
27 сен 07, 14:28    [4724358]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Dmitry Arefiev
Спасибо. Надеюсь, что вложенных транзакций нет и в остальном реальном мире :)

И не надейтесь :)
Они есть в аксесе.
27 сен 07, 14:28    [4724363]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
hvlad
Member

Откуда:
Сообщений: 11551
Gluk (Kazan)
hvlad
Ещё раз - нет никаких вложенных транзакций в MSSQL.
То, что там названо nested transactions, на самом деле ничем не отличается от обычных savepoint.


Не имеют они ДАЖЕ с savepoint-ами НИЧЕГО общего, ибо не сайвают и не пойнтят ничего а только увеличивают счетчик вложенности, который commit-ы уменьшают. Как до нуля доходит фиксируется. Какие это нафик savepoint-ы ???
Они позволяют откатывать часть тр-ции. Как и нормальные сейвпойнты.
27 сен 07, 14:37    [4724457]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Пьяный Лох
Gluk (Kazan)
ну почему же ? И в MS SQL и в DB2 и в Postgress-е

Бедный, бедный hvlad...
Его тоже без транзакций оставили...
Впрочем, если он попробует сказать, что они в FB есть, то тут же найдутся очередные фанаты, объевшиеся сырого мяса :)

Это в акцесе недоразуменее какое-то (вы еще FoxPro вспомните, то-т фанаты порадюца)

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


Я в курсе ваше заблуждения относительно наличия транзакций в акцесе, поэтому не буду спрашивать как там обеспечивается ACID
27 сен 07, 14:41    [4724496]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
hvlad
Member

Откуда:
Сообщений: 11551
hvlad
Gluk (Kazan)
hvlad
Ещё раз - нет никаких вложенных транзакций в MSSQL.
То, что там названо nested transactions, на самом деле ничем не отличается от обычных savepoint.


Не имеют они ДАЖЕ с savepoint-ами НИЧЕГО общего, ибо не сайвают и не пойнтят ничего а только увеличивают счетчик вложенности, который commit-ы уменьшают. Как до нуля доходит фиксируется. Какие это нафик savepoint-ы ???
Они позволяют откатывать часть тр-ции. Как и нормальные сейвпойнты.
Соврал. Они ввели SAVE TRAN которые и есть нормальные сейвпойнты. А откатывать "вложенную тр-цию" нельзя. Какие молодцы :)

BOL
It is not legal for the transaction_name parameter of a ROLLBACK TRANSACTION statement to refer to the inner transactions of a set of named nested transactions
27 сен 07, 14:42    [4724509]     Ответить | Цитировать Сообщить модератору
 Re: nested transaction vs savepoint  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
hvlad
Gluk (Kazan)
hvlad
Ещё раз - нет никаких вложенных транзакций в MSSQL.
То, что там названо nested transactions, на самом деле ничем не отличается от обычных savepoint.


Не имеют они ДАЖЕ с savepoint-ами НИЧЕГО общего, ибо не сайвают и не пойнтят ничего а только увеличивают счетчик вложенности, который commit-ы уменьшают. Как до нуля доходит фиксируется. Какие это нафик savepoint-ы ???
Они позволяют откатывать часть тр-ции. Как и нормальные сейвпойнты.


угу, до начала основной транзакции, если склероз мне не изменяет
впрочем, если вы порадуете меня опровергающей ссылкой из BOL, признаю свою неправоту
27 сен 07, 14:43    [4724512]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить