7
The Drizzle Transaction Log contains a sequence of
8
`Google Protocol Buffer <http://code.google.com/p/protobuf/>`_
9
messages that describe the transactions which have been run.
15
Several server variables control the transaction log.
17
**transaction-log.enable**
19
Enable transaction log.
21
**transaction-log.enable-checksum**
23
Enable CRC32 Checksumming of each written transaction log entry
25
**transaction-log.file**
27
Path to the file to use for transaction log. The default will be
28
:file:`transaction.log`.
30
**transaction-log.use-replicator**
32
Name of the replicator plugin to use (default='default_replicator')
34
**transaction-log.flush-frequency**
36
* 0 : rely on operating system to sync log file (default)
37
* 1 : sync file at each transaction write
38
* 2 : sync log file once per second
40
**transaction-log.num-write-buffers**
42
Number of slots for in-memory write buffers (default=8).
45
Transaction Log Messages
46
------------------------
48
Replication events are recorded using messages in the `Google Protocol Buffer
49
<http://code.google.com/p/protobuf/>`_ (GPB) format. See the :doc:`Replication
50
documentation </replication>` for more information.
53
Transaction Log Format
54
----------------------
56
Currently, the transaction log file uses a simple, single-file, append-only
57
format. The format of each entry in the transaction log file is::
60
+--------------+--------------+----------------------+
61
| Entry Type | Length | Serialized Message |
62
+--------------+--------------+----------------------+
64
The fields in the entry are:
66
* **Entry Type** - Type of message this entry contains. Currently,
67
this is always a Transaction GPB message.
68
* **Length** - The length, in bytes, of the serialized message.
69
* **Serialized Message** - The actual message data.