Having to start with WL47 which already contains the 'First suggestion', I'd like to discuss: Second suggestion ~~~~~~~~~~~~~~~~~ Add query text to the RBR events data part (together with adding query_len field to their header). Reason (compared with the First suggestion): - this makes binary log bit smaller (no need to store headers of new events). - almost all changes needed in this case are localized in the RBR-event classes (e.g. replication, being, roughly speaking, based on calling the apply_event() and other Log_event methods, shouldn't care about whether there is a query_text in the event or not). We can recognize whether an RBR-event in a binary log contain query text or not by looking at it header length in the Format description event (the post_header member): containing the additional query_len field, the header of the 'extended' event have a diferent size. Because we are able to recognize RBR-events format _only_ by the Format description event (at the beginning of the binary log), we can not allow to mix in one binary log both 'standard' and 'extended' formats (which is possible within the First suggestion). If possibility of such a mix is important then we should prefer the First suggestion. Any remarks ? Which way to go ?