On 23-May-2014 14:15 -0500, Justin Taylor wrote:
CRPence on Thursday, May 22, 2014 4:07 PM wrote:
On 22-May-2014 15:43 -0500, Justin Taylor wrote:
I just noticed that my journal receivers have started capturing
before images for updates. I'm not sure what changed to cause
this, but I'd like to change it back. I checked CHGJRN, but I
can't see any setting there. Can someone point me in the right
<<SNIP>> When Commitment Control is active for an UPDATE of a
database file row, the Before-image will appear irrespective the
IMAGES() setting, in order to enable recovery [ROLLBACK] instead
of only applying forward changes [i.e. COMMIT].
I think you hit on it. I went through the journal receivers to
see what tables had before images and they're all ones with CASCADE
triggers. I imagine that falls into the same category as commitment
control (i.e. it ignores the PF setting and does both).
I am not familiar with CASCADE triggers, but Referential Integrity
(RI) defined /with side effects/ [I believe that was the dev vernacular]
such as CASCADE of UPOATE or DELETE activity would effect implicit
CmtCtl and thus, the same side effect of before images being logged as
with explicit STRCMTCTL. That same design\implementation is what
requires Start Journal PF (STRJRNPF) to have been issued in order to
enable adding the FOREIGN KEY.