RATIONALE ---------- 1. To make it possible and search the binary log. 2. Makes it possible (in the future) to use XA over the binary log. 3. Make it possible to encrypt the binary log (if tables should be encrypted in the future, then also the binlog should be encrypted) DESIGN ------ Add a handler interface on top of binlog. References ---------- WL#3283
We need to consider the following issues: - Create a handler interface to the binary log - Make the binary log a plug-in The handler should support the following functionality: - Appending an item (event) to the binary log - Deleting an item in the binary log - Update will not be supported For the handlerton part, we need to extend the handlerton to handle the following: - Notification of start and end of transaction - Notification of start and end of statement - Notification of row written/updated/deleted in a table Open Issues =========== In this section, I just list a number of specific issues that need to be handled. When starting a transaction, a flag is set for the thread, but nothing else is changed. Specifically, there is no handlerton registered, but nevertheless the binlog handler needs to be informed that a transaction has started. Specifically, we need methods to: located the correct handler(s) to inform and notify the handler(s) that the transaction has started. It is necessary to take into consideration that the binary log handler can be loaded as a plug-in.