Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / может ли не сработать TABLEUPDATE на залоченной мной таблице ? / 12 сообщений из 12, страница 1 из 1
22.07.2008, 11:41
    #35444155
Петлюра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
5-ая оптимистическая буферизация, выполняется FLOCK(), затем TABLEUPDATE.
В принципе, может ли быть неуспех ?
...
Рейтинг: 0 / 0
22.07.2008, 11:47
    #35444183
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
Петлюра5-ая оптимистическая буферизация, выполняется FLOCK(), затем TABLEUPDATE.
В принципе, может ли быть неуспех ?
Не надо скрещивать ужа с ежом. Буферизация как раз и делает все нужные блокировки, не надо путаться у нее под ногами и ей мешать.
...
Рейтинг: 0 / 0
22.07.2008, 11:52
    #35444206
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
ПетлюраВ принципе, может ли быть неуспех ?

1. Да, если операции проведены в разных Datasession
2. Да, конечно, например нарушены ограничения
...
Рейтинг: 0 / 0
22.07.2008, 12:04
    #35444247
Петлюра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
PaulWist ПетлюраВ принципе, может ли быть неуспех ?

1. Да, если операции проведены в разных Datasession
2. Да, конечно, например нарушены ограничения

Сессия одна, приватная. Ограничения не нарушены.
...
Рейтинг: 0 / 0
22.07.2008, 12:08
    #35444260
Петлюра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
проходящий. Петлюра5-ая оптимистическая буферизация, выполняется FLOCK(), затем TABLEUPDATE.
В принципе, может ли быть неуспех ?
Не надо скрещивать ужа с ежом. Буферизация как раз и делает все нужные блокировки, не надо путаться у нее под ногами и ей мешать.

Животные здесь не при чем. Вопрос сформулирован четко. Зачем это надо - другое дело.
...
Рейтинг: 0 / 0
22.07.2008, 12:13
    #35444274
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
Петлюра проходящий. Петлюра5-ая оптимистическая буферизация, выполняется FLOCK(), затем TABLEUPDATE.
В принципе, может ли быть неуспех ?
Не надо скрещивать ужа с ежом. Буферизация как раз и делает все нужные блокировки, не надо путаться у нее под ногами и ей мешать.

Животные здесь не при чем. Вопрос сформулирован четко. Зачем это надо - другое дело.
Четко для кого? Для задавашего может и четко, для пытающихся его понять - нет.
Смешивание ручного и автоматического управления блокировками в одном месте - поиск приключений на одно место.
...
Рейтинг: 0 / 0
22.07.2008, 12:18
    #35444298
Петлюра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
проходящий. Петлюра проходящий. Петлюра5-ая оптимистическая буферизация, выполняется FLOCK(), затем TABLEUPDATE.
В принципе, может ли быть неуспех ?
Не надо скрещивать ужа с ежом. Буферизация как раз и делает все нужные блокировки, не надо путаться у нее под ногами и ей мешать.

Животные здесь не при чем. Вопрос сформулирован четко. Зачем это надо - другое дело.
Четко для кого? Для задавашего может и четко, для пытающихся его понять - нет.
Смешивание ручного и автоматического управления блокировками в одном месте - поиск приключений на одно место.
Пример приключений в студию.
...
Рейтинг: 0 / 0
22.07.2008, 12:49
    #35444397
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
Петлюра PaulWist ПетлюраВ принципе, может ли быть неуспех ?

1. Да, если операции проведены в разных Datasession
2. Да, конечно, например нарушены ограничения

Сессия одна, приватная. Ограничения не нарушены.

Доп. вопросы:

1. Задача однопользовательская?
2. Как происходит сброс изменений данных (в транзакции или нет)

PS желательно привести код который реализует Ваш алгоритм.
...
Рейтинг: 0 / 0
22.07.2008, 13:18
    #35444518
Петлюра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
PaulWist Петлюра PaulWist ПетлюраВ принципе, может ли быть неуспех ?

1. Да, если операции проведены в разных Datasession
2. Да, конечно, например нарушены ограничения

Сессия одна, приватная. Ограничения не нарушены.

Доп. вопросы:

1. Задача однопользовательская?
2. Как происходит сброс изменений данных (в транзакции или нет)

PS желательно привести код который реализует Ваш алгоритм.
1. Задача многопользовательская.
2. Транзакции не используются.
3. Код привести затруднительно, но суть такова:
в локальном курсоре пользователь выполняет некоторые действия, на основании которых
должны внестись определенные изменения в группу таблиц. Для этих таблиц устанавливается
буферизация. Таблицы локируются FLOCK(), после чего INSERT и UPDATE команды.
Затем TABLEUPDATE() и UNLOCK.
...
Рейтинг: 0 / 0
22.07.2008, 13:27
    #35444554
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
Петлюратакова:
в локальном курсоре пользователь выполняет некоторые действия, на основании которых
должны внестись определенные изменения в группу таблиц. Для этих таблиц устанавливается
буферизация. Таблицы локируются FLOCK(), после чего INSERT и UPDATE команды.
Затем TABLEUPDATE() и UNLOCK.
Если я правильно понимаю что курсор никак не связан с таблицей (т.е. не local view и не СursorAdapter), то зачем вообще тут TABLEUPDATE() ? вполне достаточно открыть таблицу без буфферизации и рулить блокировками через FLOCK() и UNLOCK, что и так происходит.
...
Рейтинг: 0 / 0
22.07.2008, 13:34
    #35444582
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
Петлюра1. Задача многопользовательская.
2. Транзакции не используются.
3. Код привести затруднительно, но суть такова:
в локальном курсоре пользователь выполняет некоторые действия, на основании которых
должны внестись определенные изменения в группу таблиц. Для этих таблиц устанавливается
буферизация. Таблицы локируются FLOCK(), после чего INSERT и UPDATE команды.
Затем TABLEUPDATE() и UNLOCK.

1. Тогда реально наступить на заблокированную табличку

2. Тогда реально получить рассогласованные данные когда в мастер-таблице будут записиЮ а в деталях не будет содержания

3. Так в многопользовательской среде не работают, если использовать штатный механизм фокса, а Вас предстоит серьезная работа над обработчиком ошибок.
...
Рейтинг: 0 / 0
22.07.2008, 13:42
    #35444622
Петлюра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
может ли не сработать TABLEUPDATE на залоченной мной таблице ?
PaulWist Петлюра1. Задача многопользовательская.
2. Транзакции не используются.
3. Код привести затруднительно, но суть такова:
в локальном курсоре пользователь выполняет некоторые действия, на основании которых
должны внестись определенные изменения в группу таблиц. Для этих таблиц устанавливается
буферизация. Таблицы локируются FLOCK(), после чего INSERT и UPDATE команды.
Затем TABLEUPDATE() и UNLOCK.

1. Тогда реально наступить на заблокированную табличку

2. Тогда реально получить рассогласованные данные когда в мастер-таблице будут записиЮ а в деталях не будет содержания

3. Так в многопользовательской среде не работают, если использовать штатный механизм фокса, а Вас предстоит серьезная работа над обработчиком ошибок.

Спасибо, в азах я разбираюсь. Система многопользовательской работы действительно
не стандартна, но грабли типа 1-3, конечно же учтены. Все работает безукоризненно уже более
5 лет (пользователей - десятки). Вопрос был чисто теоретический. Тема закрыта.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / может ли не сработать TABLEUPDATE на залоченной мной таблице ? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]