![]() | |
![]() |
| | Thread Tools | Display Modes |
#11
| |||
| |||
|
|
This has been documented before. MVCC and database constraint checking do not fit together. |
#12
| |||
| |||
|
|
On 31 mrt, 21:42, Roy Hann <specia... (AT) processed (DOT) almost.meat> wrote: This is probably not the proper place to pose a question about how SQL "should" work, but I don't know of a better one. *Any suggestions? * I am curious to know the moment to which a deferred constraint should be understood to be deferred. *I assume it should be after the last update in a transaction (signalled by a COMMIT) but before the transaction surrenders read consistency. *But if that's the case, one can construct a pair of concurrent transactions that severally satisfy all constraints yet jointly leave the database inconsistent. * So what's the defined behaviour? *(At this moment I'm not interested in what we'd like it to be; I want to know what the standards define it to be.) -- Roy Roy, I am curious to know what kind of concurrent transactions you are thinking of fabricating. Are you thinking of scenario's in which the concurrency control mechanism is MVCC, and the constraint checking too happens under MVCC ? |
#13
| |||
| |||
|
|
On Apr 2, 11:28 pm, Erwin <e.sm... (AT) myonline (DOT) be> wrote: TWO : the goal is NOT that "at the end of the session, all constraints must be _TRUE_", the goal is that at the end of the session, all constraints must be _SATISFIED_. Are you saying that because you don't regard a constraint as a boolean valued expression or function, or because you would never use terminology that ignores the distinction between an expression and what it evaluates to? |
#14
| |||
| |||
|
|
On Apr 2, 11:21 pm, Erwin <e.sm... (AT) myonline (DOT) be> wrote: This has been documented before. *MVCC and database constraint checking do not fit together. I thought in normal practice only read only transactions access old versions so MVCC doesn't upset constraint checking at all. |
#15
| |||
| |||
|
|
On 4 apr, 04:12, David BL <davi... (AT) iinet (DOT) net.au> wrote: On Apr 2, 11:28 pm, Erwin <e.sm... (AT) myonline (DOT) be> wrote: TWO : the goal is NOT that "at the end of the session, all constraints must be _TRUE_", the goal is that at the end of the session, all constraints must be _SATISFIED_. Are you saying that because you don't regard a constraint as a boolean valued expression or function, or because you would never use terminology that ignores the distinction between an expression and what it evaluates to? The latter. I was complaining about sloppiness in the language. Wouldn't you agree that "ignoring the distinction that you mention" is indeed sloppy language (or sloppy use thereof) ? |
![]() |
| Thread Tools | |
| Display Modes | |
| |