← Back to team overview

maria-developers team mailing list archive

WL47: Second suggestion.

 

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 ?