PS-10242 feature: Add support for processing PREVIOUS_GTIDS_LOG events #78
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://perconadev.atlassian.net/browse/PS-10242
Added new template specializations for 'generic_post_header_impl' and 'generic_body_impl' for 'code_type::previous_gtids_log' ('PREVIOUS_GTIDS_LOG' event).
'binsrv::gtids::gtid_set' class is now capable of deserializing binary data from the blob encoded into the 'PREVIOUS_GTIDS_LOG' event.
Introduced 'binsrv::gtids::gtid_set_storage' typedef - a vector-like container with 96 bytes SBO (based on 'boost::container::small_vector'). This type is used to store the blob mentioned above. The number 96 is chosen so that the size of the 'binsrv::event::event::body_variant' wouldnt grow.
'binsrv::gtids::gtid_set' interface extended with additional method 'add_interval()' for adding gno ranges.
Fixed the way how 'binsrv::gtids::gtid_set' is printed to std::ostream - it now corresponds to the format used by '@@gtid_executed' MySQL system variable.
Introduced new class 'binsrv::gtids::uuid' as a wrapper around 'boost::uuids::uuid' that can be constructed from 'binsrv::gtids::uuid_storage'.
Unit tests updated to cover new methods in 'binsrv::gtids::gtid_set'.
Added new 'test_uuid' unit test.