Re: Oracle to Postgres training at PGConf US
- From: "Joshua D. Drake" <jd@xxxxxxxxxxxxxxxxx>
- To: contact@xxxxxxxx, oracle-l@xxxxxxxxxxxxx
- Date: Sun, 23 Jul 2017 17:29:19 -0700
On 07/22/2017 11:59 PM, Stefan Koehler wrote:
Hey JD,
to get back on a technical track and ignore all other on-going personal things
here :-)
What do you think about this?
https://twitter.com/FranckPachot/status/888867529954820097
This looks crazy to me (and possibly all other Oracle folks out there).
As a PostgreSQL person it makes sense to me and this is why:
Our first data set is:
1
0
Our first update sets the data to
0
1
Which means at the first update, there is no conflict and therefore the
second update there is no conflict. However, when you try to update the
data again:
update demo set n=n+1;
You are saying, set 0 = 1 and 1 = 2; The problem is that when you set 0
= 1, there is already a 1 in the tuple set. So you get a primary key
violation.
It makes sense to me. I can see where someone would say... wait, what?
You would assume that you could check the constraint at the end of the
transaction. I would actually consider this a limitation of our primary
keys as our other constraints (such as foreign keys) can be set deferred
in which case a similar case would work.
Thanks,
JD
--
Command Prompt, Inc. ||
http://the.postgres.company/ ;|| @cmdpromptinc
PostgreSQL Centered full stack support, consulting and development.
Advocate: @amplifypostgres || Learn:
https://pgconf.us
***** Unless otherwise stated, opinions are my own. *****
--
//www.freelists.org/webpage/oracle-l
Other related posts: