-
Пока все не отрапортуют никакого реального коммита нет. Атомарная операция
Ой ли? То есть я вызвал коммит, сервер мне ответил, все окей, убедился, что я принял его ответ, затем приступил к реальному закоммичиванию? А если он при этом обломается?
-
Атомарная операция
Если бы она была атомарной, у автора не возникали бы описанные симптомы. Она атомарна логически, в категориях реляционной теории.
А этажом ниже передаются биты и байты (не один байт) по неустойчивым каналам связи.
-
Медвежонок Пятачок © (10.09.08 14:43) [19] Нет. Она получает ответ и посылает чек что она его получила. И если сервер этот чек не получил то реального коммита нет. Чтобы убедиться 100% надо смотреть исходники FB (я в этой части не смотрел) но ситуации когда коммит не прошел на клиенте а запись вставилась мне добиться не удалось при проведении стресс-тестов.
-
И как тогда объяснить случай со свершившейся вставкой на сервере и тем что exec на клиенте вернул false?
-
Медвежонок Пятачок © (10.09.08 14:50) [21] >Если бы она была атомарной, у автора не возникали бы описанные >симптомы. Симптомы пока только у автора ;-) Если бы все было так плохо они были бы у всех и постоянно.
-
Уникальное поле - пока не нужно. Заменил pFIBDatabase.Execute на pFIBQuery с ручным управлением транзакциями. Похоже, помогло. Не зря в одном факе настоятельно рекомендовали управлять вручную.
|