class SYS.MirrorDejournal extends %Library.SystemBaseThe SYS.MirrorDejournal class is a superclass for users to set up their custom mirror dejournal filter class. The custom class name should start with 'Z' or 'z' so it that is preserved during upgrade. Implement the RunFilter() method and place your filter code in that method.
Arguments as follows will be passed to this method providing information
about the record:
Return 1 to indicate that the record is to be dejournaled or 0 to request that it be skipped. Skipping the record in this way is only allowed if the FailoverDB flag in the database is cleared, meaning that it is a read-write mirror database. If the FailoverDB flag in the database is set, the return value is ignored, and the record is dejournaled. The RunFilter code executes for each record regardless of the state of the FailoverDB flag; it can perform any operations that do not modify the read-only mirrored databases.
Other information about the journal record can be extracted as needed by using the value of Address in macros provided by the %syJrnRecord include file. In particular:
If errors are thrown from this method (ie an error occurs and is not handled within the method itself), mirror dejournaling will abort.
Dejournaling to mirrored databases occurs both as part of normal mirror
operation and as part of manual catchup. The two types of dejournaling can
occur concurrently (in different processes) and manual catchup can be working
with substantially older journal records. Implementations of RunFilter that
need to be sensitive to this difference can inspect the value of