Re: posgres 12 bug (partitioned table)
От | Andres Freund |
---|---|
Тема | Re: posgres 12 bug (partitioned table) |
Дата | |
Msg-id | 20200811183940.z6hvnu4uptkhugom@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: posgres 12 bug (partitioned table) (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
Hi, On 2020-08-11 21:31:52 +0300, Pavel Biryukov wrote: > Entity Framework is an ORM for .Net (and .Net Core). It has different providers > for different databases (NpgSql for Postgres). It uses Optimistic concurrency. > The common use case is to use xmin as "concurrency token". > > In code we make "var e = new Entity();", "dbContext.Add(e)" and > "dbContext.SaveChanges()" (smth like that), and EF Core constructs sql for us, > classical ORM; > > When new row is inserted, EF makes an insert with "RETURNING xmin" to keep it > as concurrency token for further updates (update is made like "where id = [id] > AND xmin=[xmin]" to be sure the row hasn't been updated by other clients). That's not really a safe use of xmin, e.g. it could have wrapped around leading you to not notice a concurrent modification. Nor does it properly deal with multiple statements within a transaction. Perhaps those are low enough risk for you, but I don't xmin is a decent building block for this kind of thing. Greetings, Andres Freund
В списке pgsql-bugs по дате отправления: