Re: oracle-l Digest V14 #190

From: Stéphane Faroult <sfaroult_at_roughsea.com>
Date: Mon, 24 Jul 2017 15:12:49 +0800
Message-ID: <4037f45f-5859-8c52-db23-4bc9d4c8efd2_at_roughsea.com>


Stefan,

Every DBMS I know turns a blind eye to the state of the database in the middle of a DML statement - you can violate constraints as much as you want when your update runs, the only thing that counts is that constraints are enforced when the statement starts and when it finishes. In-between, you are in a kind of Heisenbergian time-lapse where you have no clue about the exact state of your data (which explains the famed "mutating table error"). Not so with PostgreSQL, which ferociously applies constraints at every CPU cycle. You can have a behaviour similar to what anybody expects if you create your constraints as "deferrable initially deferred". Call it a feature ...

I hope it makes sense.

Stéphane Faroult

On 24/07/2017 13:05, FreeLists Mailing List Manager 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).
>
> Best Regards
> Stefan Koehler
>
> Independent Oracle performance consultant and researcher
> Website:http://www.soocs.de
> Twitter: _at_OracleSK

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Jul 24 2017 - 09:12:49 CEST

Original text of this message