> ÷ ÎÁÞÁÌÅ ÐÒÉÂÉ×ÁÎÉÑ ËÏÎÎÅËÔÁ ×ÎÕÔÒÑÈ ÅÍÕ ÓÔÁ×ÉÔÓÑ ÆÌÁÇ ÛÁÔÄÁÕÎÁ. þÔÏÂÙ
> ÌÀÂÙÅ ÐÁÒÁÌÌÅÌØÎÏ ÒÁÂÏÔÁÀÝÉÅ ÐÏÔÏËÉ ÍÏÇÌÉ ÓÒÁÚÕ ÖÅ ÚÁ×ÅÒÛÉÔØÓÑ É ÞÔÏÂÙ
> ÚÁÐÒÅÔÉÔØ ÎÅËÏÔÏÒÙÅ ÄÒÕÇÉÅ ÏÐÅÒÁÃÉÉ.
á ÞÔÏ ÄÁÅÔ ÔÁËÏÊ ÛÁÔÄÁÕÎ?
á×ÔÏÍÁÔÉÞÅÓËÏÅ ÚÁ×ÅÒÛÅÎÉÅ ÐÏÄËÌÀÞÅÎÉÑ ÐÒÉ ÚÁËÒÙÔÉÉ ÐÏÓÌÅÄÎÅÊ ÁËÔÉ×ÎÏÊ
ÔÒÁÎÚÁËÃÉÉ?
Kovalenko Dmitry wrote:
В начале прибивания коннекта внутрях ему ставится флаг шатдауна. Чтобы
любые параллельно работающие потоки могли сразу же завершиться и чтобы
запретить некоторые другие операции.
А что дает такой шатдаун?
Читай выше :-)
Автоматическое завершение подключения при закр
Vlad Khorsun wrote:
Не зря. Если приложение корректно написано, то оно не оставит
открытых тр-ций
за собой. Ибо сервер понятия не имеет, что с ними делать (кроме случая
обрыва
коннекта, который есть форс-мажор).
А в случае обрыва коннекта? У приложения есть хендлы, которые оно
должно
"Ded" ...
Vlad Khorsun wrote:
Не зря. Если приложение корректно написано, то оно не оставит открытых тр-ций
за собой. Ибо сервер понятия не имеет, что с ними делать (кроме случая обрыва
коннекта, который есть форс-мажор).
А в случае обрыва коннекта? У приложения есть хендлы, которые он
>rollback ÄÏÌÖÅÎ ÚÁ×ÅÒÛÉÔØÓÑ ÂÅÚ ÏÛÉÂËÉ
çÄÅ-ÔÏ Ñ ÕÖÅ ÜÔÏ ÓÌÙÛÁÌ :
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
Sergey Mereutsa wrote:
P/S И вообще, я вредный потому, что еще не завтракал. Вот сейчас пойду
и подобрею :)
Баян :-D Классный, впрочем :-)
--
Regards. Ded.
Kovalenko Dmitry wrote:
Как и та, что при передаче NULL в качестве статус вектора, fbclient.dll
опрокидывает все приложение.
На это я уже давно смотрю с ужасом :-) Пришейте мне еще пару рук, пжлст :-))
Типа пишите правильные приложения. Но что то тут очень сильно Джимом пахнет
:)))
Не сы
>> ëÁË É ÔÁ, ÞÔÏ ÐÒÉ ÐÅÒÅÄÁÞÅ NULL × ËÁÞÅÓÔ×Å ÓÔÁÔÕÓ ×ÅËÔÏÒÁ, fbclient.dll
>> ÏÐÒÏËÉÄÙ×ÁÅÔ ×ÓÅ ÐÒÉÌÏÖÅÎÉÅ.
>
> îÁ ÜÔÏ Ñ ÕÖÅ ÄÁ×ÎÏ ÓÍÏÔÒÀ Ó ÕÖÁÓÏÍ :-) ðÒÉÛÅÊÔÅ ÍÎÅ ÅÝÅ ÐÁÒÕ ÒÕË, ÐÖÌÓÔ
> :-))
óÎÁÞÁÌÁ ÎÁÄÏ ÂÕÄÅÔ ÚÁÍÏÞÉÔØ ðÅÛËÏ×Á. ïÎ, ËÁÖÅÔÓÑ, ÐÒÏÔÉ× :)
> îÅ ÓÙÐØ ÍÎÅ ÓÏÌØ...
äÉÍÁ, ÏÂÉÖÁÅÛØ. üÔÏ
Привет!
>>Я помню у нас даже давным-давно ошибка в логике была, из-за того, что
>>отключались раньше коммита - но при этом никаких проблем с detach не
>>было. На какой версии тестил? Пришли пример, а?
Странно - только что проверил на 2.1 - действительно, апшЫпка. На 1.5
точно можно было - как се
Привет!
>> Нет. Приложение должно сделать то, что автор прописал. Сказали закрыть
>> соединение - значит закрыть и не выпендриваться.
> А подумать ?
Я подумал, прежде чем написал - см. ниже.
>> > В спецификации OLEDB тоже говорят - надо ругаться ...
>>
>> Зря.
> Не зря. Если приложени
Привет!
> Одно дело - забытая тр-ция из-за неизвестной ошибки в приложении, другое -
> злонамеренное игнорирование сообщения сервера
>> Что тогда сервер должен делать с коннектами?
>> солить? Я считаю, что он с ними должен поступать так же, как и в
>> случае обрыва - т.е. откатить.
> Т
Привет!
>>Нет. Приложение должно сделать то, что автор прописал. Сказали закрыть
> соединение - значит закрыть и не выпендриваться.
> Да вот же это вроде как логично. Но если начать курить - то логика идет
> лесом.
Я тебе больше скажу - логика зависит еще и от того, с какой стороны
курить
> Кстати, на твой взгляд, возможность "молчаливого" закрытия при наличии
> активных транзакций - зло?
Да
Нет. Приложение должно сделать то, что автор прописал. Сказали закрыть
соединение - значит закрыть и не выпендриваться.
А подумать ?
> В спецификации OLEDB тоже говорят - надо р
>óÔÒÁÎÎÏ - ÔÏÌØËÏ ÞÔÏ ÐÒÏ×ÅÒÉÌ ÎÁ 2.1 - ÄÅÊÓÔ×ÉÔÅÌØÎÏ, ÁÐÛùÐËÁ. îÁ 1.5
ÔÏÞÎÏ ÍÏÖÎÏ ÂÙÌÏ - ËÁË ÓÅÊÞÁÓ ÐÏÍÎÀ, ÎÏ ÐÒÏ×ÅÒÑÔØ ÌÅÎØ.
èÁ, Ñ ÝÁÓ ÎÁ Ó×ÅÖÅ×ÙÖÁÔÏÍ 2.5 ÐÒÏ×ÅÒÉÌ. ñ ËÒÕÞÅ :)))
>îÅÔ. ðÒÉÌÏÖÅÎÉÅ ÄÏÌÖÎÏ ÓÄÅÌÁÔØ ÔÏ, ÞÔÏ Á×ÔÏÒ ÐÒÏÐÉÓÁÌ. óËÁÚÁÌÉ ÚÁËÒÙÔØ
ÓÏÅÄÉÎÅÎÉÅ - ÚÎÁÞÉÔ ÚÁËÒÙÔØ É ÎÅ ×ÙÐÅÎÄÒÉ×ÁÔ
Нет. Приложение должно сделать то, что автор прописал. Сказали закрыть
соединение - значит закрыть и не выпендриваться.
А подумать ?
Я подумал, прежде чем написал - см. ниже.
Я тоже подумал. Причём года 3-4 назад :)
> В спецификации OLEDB тоже говорят - надо ругаться ...
Зря.
>>ñ ÔÅÂÅ ÂÏÌØÛÅ ÓËÁÖÕ - ÌÏÇÉËÁ ÚÁ×ÉÓÉÔ ÅÝÅ É ÏÔ ÔÏÇÏ, Ó ËÁËÏÊ ÓÔÏÒÏÎÙ
>>ËÕÒÉÔØ ÜÔÉ ËÏÓÑËÉ :)
á Ñ ÐÒÅÄÌÁÇÁÌ ÄÏËÔÏÒÕ, ÉÄÅÀ ÎÁÓÞÅÔ isc_close_handle
á ÍÎÅ, × ÏÔ×ÅÔ, ÐÒÏÐÉÓÁÌÉ ÏÞÅÒÅÄÎÏÊ ËÕÒÓ × ÎÁÒËÏÄÉÓÐÁÎÓÅÒÅ.
îÉÞÅ. ñ ÝÁÓ ÜÔÕ ËÌÉÎÉËÕ ÁËÓÓÅÓÓ ×ÉÏÌÅÊÛÉÎÁÍÉ ÚÁÔÒÁÈÁÀ :)))
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
PS. ÷ÏÔ, Õ
>>á ÞÅÍ ÄÌÑ ÓÅÒ×ÅÒÁ ÄÏÌÖÎÁ ÏÔÌÉÞÁÔØÓÑ "×ÉÓÑÝÁÑ" ÏÔËÒÙÔÏÊ ÔÒÁÎÚÁËÃÉÑ
>>ÉÚ-ÚÁ ÏÂÒÙ×Á ÓÏÅÄÉÎÅÎÉÑ É × ÜÔÏÍ ÓÌÕÞÁÅ?
>
>ôÅÍ, ÞÔÏ ÒÕÇÁÅÔÓÑ ÏÎ ÐÒÉ ÄÅÔÁÞÅ. á ÚÎÁÞÉÔ É ÐÒÉÌÏÖÅÎÉÅ É ËÏÎÎÅËÔ ÖÉ×Ù.
ñ ×ÏÔ ÝÁÓ ÎÁÐÐÉÓÁÌ ÏÞÅÒÅÄÎÏÊ ÛÁÂÌÏÎÎÙÊ ËÏÄ
-
{
connection_object->Attach()
isc_tr_handle
Проблема с детачем решается исключительно построением дерева объектов, в
котором дети блокируют в памяти родителей
connection <--- transaction < statement
и не дают их грохать раньше себя.
Вопрос - в правильных FIBPlus я могу грохнуть датабазу раньше транзакции?
В нем используются блоки
> ÇÒÏÈÎÕÔØ ÍÏÖÅÛØ, ÔÒÁÎÚÁËÃÉÑ ÓÄÅÌÁÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ
÷ÏÔ. íÙÓÌØ :)
îÕÖÎÏ ÏÐÒÅÄÅÌÉÔØ TPB ÐÁÒÁÍÅÔÒ Ó ÄÅÊÓÔ×ÉÑÍÉ ÐÏ ÕÍÏÌÞÁÎÉÀ.
âÕÇÁÇÁÇÁ.
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
"Kovalenko Dmitry" ...
А чем для сервера должна отличаться "висящая" открытой транзакция
из-за обрыва соединения и в этом случае?
Тем, что ругается он при детаче. А значит и приложение и коннект живы.
Я вот щас напписал очередной шаблонный код
-
{
connection_object->Attach(
>âÌÏËÉÒÏ×ËÉ ×ÁÝÅ ÎÅ ÄÏÇÎÁÌ - ÜÔÏ ÔÙ Ï Þ£Í ?
óÞÅÔÞÉËÉ ÓÓÙÌÏË. õ ÓÁÍÏÕÂÉ×ÁÎÉÅ ÐÒÉ ÏÂÎÕÌÅÎÉÉ. á-ÌÑ COM :)
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
"Kovalenko Dmitry" ...
Блокировки ваще не догнал - это ты о чём ?
Счетчики ссылок. У самоубивание при обнулении. А-ля COM :)
В своём слое - хоть обсчитайся :)
--
Хорсун Влад
>> óÞÅÔÞÉËÉ ÓÓÙÌÏË. õ ÓÁÍÏÕÂÉ×ÁÎÉÅ ÐÒÉ ÏÂÎÕÌÅÎÉÉ. á-ÌÑ COM :)
>
>÷ Ó×Ï£Í ÓÌÏÅ - ÈÏÔØ ÏÂÓÞÉÔÁÊÓÑ :)
íÙ ÕÖÅ ÉÄÅÍ Ë ×ÁÍ.
âÕ-ÇÙ-ÇÙ.
ëÏ×ÁÌÅÎËÏ äÍÉÔÒÉÊ.
23 matches
Mail list logo