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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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