19.1 Chapter Organization

We distinguish between two levels of the architecture:
principles, and rules:

principle

High-level goal that declares how the program shall work,
from an external point of view. Principles do not discuss
how the code works. An example of a principle is "no row
events shall be written to the binlog if
binlog_format=statement".

rule

Defines how to implement the principles. Rules can be
formulated on a very high level, but they describe
implementation (how the code works from the inside) rather
than interface (how the program behaves when looking from
the outside). An example of a rule is "at ROLLBACK when the
transaction cache only contains updates to transactional
tables, clear the transaction cache and do not write to the
binlog".

In the next section, we list the source code files used by
replication and describe what each file contains. The section
after describes the replication principles and the following
section describes the replication rules. The last section contains
very old, obsolete documentation. It will be removed after we have
verified that anything useful has been transferred to the main
sections.