In our application we have a code like below in 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()
We are using MYSql database, I find this code a little bit strange because it is using optimistic_locking inside a transation,I am wondering if we might run into issues because of using optimistic_locking inside a transction (pessimistic locking).