Использование оптимистичной блокировки внутри транзакции - PullRequest
0 голосов
/ 29 ноября 2018

В нашем приложении у нас есть код, подобный приведенному ниже, в Elixir:

Multi.new()
|> Multi.update(
    :some_operation_name,
    Entity
    |> Repo.preload(:some_entity)
    |> Ecto.Changeset.optimistic_lock(:lock_version)
    |> Ecto.Changeset.change(some_id: some_uuid)
  )
|> Repo.transaction()

Мы используем базу данных MySQL, я нахожу этот код немного странным, поскольку он использует optimistic_locking внутри транзакции.

|> Ecto.Changeset.optimistic_lock(:lock_version)

Мне интересно, могли бы мы столкнуться с проблемами из-за использования optimistic_locking внутри транзакции (пессимистическая блокировка).

...