Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Транзакции   Найти похожие ветки 

 
MORA   (2004-11-19 13:48) [0]

Достигнув некоторого более-менее уровня в проектировании БД и написании для них апликух, попалась мне под руку книжица для начинающих по программированию БД в Д-7. (Рекомендую всем иногда возвращаться назад - почерпнёте много интересного, но на другом уже уровне!). Дык вот. Возник у меня естественный вопрос:

При использовании кэширования в запросе Query (CachedUpdetes = True) юзверь может НАДОЛГО зависнуть над редактированием одной записи. В это же время другой юзверь, отредактировав её же, успешно сохраняет (ApplyUpdates). А первый пытается стартовать транзакцию, которая записывает в кэшированную(!?) таблицу изменения (изменения не только в эту единственную таблицу, но и в НЕКЭШИРУЕМУЮ!) - допустим успешно. А потом уже нажимает кнопку ApplyUpdates. В обработчике OnUpdateRecord например можно отказаться от сохранения изменений на диске. Но при этом всё ,что сделано в транзакции, не касающееся данной кэшируемой таблицы, останется.

Может, я неправильно организовал логику, то поправьте меня.


 
msguns ©   (2004-11-19 13:55) [1]

Параметры транзакции, тип БД, движок ?


 
MORA   (2004-11-19 13:57) [2]

>[1]
Пример я описал. Код неважен, выжно когда начало и Коммит/Роллбэк.
БД например IB, хотя по-моему тож неважно


 
Johnmen ©   (2004-11-19 14:09) [3]

Кеширование в данном случае неважно.
Главное Коммит/Роллбэк. Перед внесением изменений в таблицы стартуешь тр., после этого Коммит/Роллбэк.


 
MORA   (2004-11-19 14:35) [4]

>[3]
да. наверное так. Т.е. надо следить ,какая табл. кэшируется, а какая - нет.
Я имею в виду ситуацию, когда в транзакции изменяется и та, и другая таблицы. И здесь же нужно делать ApplyUpdates().

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



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.074 c
14-1101669213
iZEN
2004-11-28 22:13
2004.12.19
Сравнение языков по-новому.


1-1102423590
Zloy
2004-12-07 15:46
2004.12.19
Как проверить Edit, введен текст или цифры?


14-1101493291
Fay
2004-11-26 21:21
2004.12.19
Нужен программер на пост. работу


11-1073121423
nsvi
2004-01-03 12:17
2004.12.19
ComboBox


14-1101463912
MBo
2004-11-26 13:11
2004.12.19
Пятничные задачи. Очередные проблемы Васи Пупкина