Skip to content

Conversation

@percona-ysorokin
Copy link
Collaborator

https://perconadev.atlassian.net/browse/PS-10243

'binsrv::gtids' namespace extended with the following classes / typedefs:

  • 'tag_storage' - an alias for the 'util::bounded_string_storage<32>', used in GTID_TAGGED_LOG event body
  • 'gno_t' - an unsigned integer used to represent the 'gno' part of 'GTID'.
  • 'tag' class, which is used to represent GTID tag, implemented via 'tag_storage' but performs character validation.
  • 'gtid' class, which is used to represent GTID, incapsulates 'uuid', optional 'tag', and 'gno'.
  • 'gtid_set' class, which is used to represent a set of GTIDs, can combine elements and other sets, knows how to generate its string representation.

Added unit tests based on boost::test framework for the GTID classes:

  • 'tag_test'
  • 'gtid_test'
  • 'gtid_set_test'

Main CMakeLists.txt file extended with standard 'BUILD_TESTING' option, imported from 'include(CTest)'.

'BUILD_TESTING' CMake option is now enabled by default in all CMake presets.

https://perconadev.atlassian.net/browse/PS-10243

'binsrv::gtids' namespace extended with the following classes / typedefs:
* 'tag_storage' - an alias for the 'util::bounded_string_storage<32>', used in
  GTID_TAGGED_LOG event body
* 'gno_t' - an unsigned integer used to represent the 'gno' part of 'GTID'.
* 'tag' class, which is used to represent GTID tag, implemented via
  'tag_storage' but performs character validation.
* 'gtid' class, which is used to represent GTID, incapsulates 'uuid', optional
  'tag', and 'gno'.
* 'gtid_set' class, which is used to represent a set of GTIDs, can combine
  elements and other sets, knows how to generate its string representation.

Added unit tests based on boost::test framework  for the GTID classes:
* 'tag_test'
* 'gtid_test'
* 'gtid_set_test'

Main CMakeLists.txt file extended with standard 'BUILD_TESTING' option,
imported from 'include(CTest)'.

'BUILD_TESTING' CMake option is now enabled by default in all CMake
presets.

Temporarily disabled running 'ctest' in GitHub Actions in clang-19 ASan
configuration because of the known
"-stdlib=libc++ -fsanitize=address" alloc-dealloc-mismatch issue
(llvm/llvm-project#59432), which is expected
to be fixed in clang-20.
@percona-ysorokin percona-ysorokin merged commit 86fb949 into main Nov 24, 2025
7 checks passed
@percona-ysorokin percona-ysorokin deleted the gtid_structures branch November 24, 2025 23:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants