-
+
Только копии в данном случае будут называться версиями, среди которых могут быть рабочие (те которые "железно" в БД) и временные, над которыми работа идет. Последняя временная, после утверждения, становится последней рабочей.
-
Как то это всё сложно... Там ведь не одна таблица, а несколько.
Так что насчёт надёжности и возможных последствий вообще ?
Какие могут быть проблемы ? Может, пока не поздно, отказаться от SavePoints ?
Пока при нескольких пользователях всё вроде бы работает.
-
а если метку выставил, а прога/система "упала"?
-
Это важный вопрос, но я им ещё не занимался. Думаю, клиентское приложение должно регулярно подавать серверу сигналы о своём присутствии. Если сигнал
сколько то раз не поступил, то занятые строки освобождаются.
-
> [21] kudatsky (25.10.10 16:20)
> Как то это всё сложно...
Никто и не обещал, что все просто.
>Там ведь не одна таблица, а несколько.
Ну и что? Конечное количество то надеюсь. 8-)
-
> Если сигнал
> сколько то раз не поступил, то занятые строки освобождаются.
>
А кто этим будет заниматься?
-
> [25] Виталий Панасенко (25.10.10 16:42)
> А кто этим будет заниматься?
Админ упавшего сервера. Все выходные путь сидит. 8-)
-
Примем человека на пол-ставки, пусть трудится ;-)))
Проще всего запустить циклический процесс. Раз в минуту проверить достаточно.
-
> [27] kudatsky (25.10.10 16:50)
Ну вот с 9-00 до 16-00 человек пахал в поте лица. И только он захотел завершить работу, у него (или не у него, а сеть, или не сеть, а сервак) заглючило. Проверили - не отвечает. И что, 7 часов работы псу под хвост?
ИМХО, побьют. 8-)
-
Насчёт человека - это шутка. Я же написал - запустить циклический процесс.
Запустить прогу, которая раз в минуту (или раз в секунду) будет всё это проверять
-
да и еще вопрос: если ТРАНЗАКЦИЯ НЕ ПОДТВЕРЖДЕНА, ТО НИКТО ЭТИ САМЫЕ МЕТКИ НЕ УВИДИТ! во веки веков... либо нужно два прохода: выставить метки, а затем уже редактировать данные.. либо как в фибах - холостой апдейт БЕЗ комита, заблокирует запись
-
>Виталий Панасенко
Так и делается. Сначала отдельная транзакция ставит метки и закрывается, а потом стартует редактирующая транзакция
-
Друзья, спасибо за беседу. Кое-что я из неё почерпнул.
У меня кончается рабочий день. Завтра утром я сюда загляну.
-
А можно вести типа версии. Т.е. каждое ПОДТВЕРЖДЕННОЕ редактирование порождает НОВУЮ версию(читай "запись") данных об объекте. Предыдущая становится типа не актуальной. Тогда для отката достаточно удалить(переместить, не суть) последнюю запись, предыдущая станет актуальной
-
>Виталий Панасенко
Можно. Но у меня к этому не лежит душа ;-)
И как насчёт SUBJ ?
Хотелось бы услышать квалифицированное мнение,
основанное на глубоком знании и собственном опыте.
-
> [34] kudatsky (26.10.10 09:38)
> Но у меня к этому не лежит душа ;-)
То, что тебе лень что-то делать - это конечно мощный аргумент, который перешибает любой довод против. 8-)
Во всех книгах/статьях по БД (это про "квалифицированное мнение") написано, что транзакции чем короче тем лучше. Нигде нет про их длительность "от меня и до вечера".
Твой подход напоминает старинный анекдот про испытание японской бензопилы в нашем лесхозе, где решили попробовать спилить бетонный столб.
Продолжай в том же духе и возможно появятся "глубокие знания" в этом вопросе, и уж точно появится "собственный опыт".
-
да, все мною прочитанные статьи, книги и т.д. в один голос говорят - "чем короче пишущая транзакция, тем лучше"... читающая.. да хоть до скончания времен(которое с 50% вероятностью из Нета наступит где-о через 3,5 млрд. лет с нынешним развитием науки)!