Skip to content

Conversation

@ParadoxV5
Copy link
Contributor

@ParadoxV5 ParadoxV5 commented Dec 30, 2025

Fix issues in MDEV-37530 (#4430) found when releasing v12.3.0 (preview).

Use array, not std::initializer_list

  • The Jira issue number for this PR is: MDEV-38410

Some environments appear not to retain the backing array of a static std::initializer_list in the MDEV-37530 release candidate, and eventually crash when reading overwritten data.

This commit resolves the stealth issue by reverting to conventional arrays, while maintaining convenience through deductive overloads.

Avoid C++17’s <charconv> entirely

  • Some of our platforms (namely SUSE 15, which uses GCC 7.5) support C++17 syntaxes, but not all libraries, <charconv> among those.
  • We are yet to figure out what to do with our 10 choices of string→int converters, so now is not the time to settle preferences on <charconv> or whatever superset that covers all of their cases.

Warning fix: make intuchar explicit

Arithmetics start from int and so auto-promotes.

PR quality check

  • This is a new feature or a refactoring, and the PR is based on the main branch.
  • This is a bug fix, and the PR is based on the earliest maintained branch in which the bug can be reproduced.
  • I checked the CODING_STANDARDS.md file and my PR conforms to this where appropriate.
  • For any trivial modifications to the PR, I am ok with the reviewer making the changes themselves.

@CLAassistant
Copy link

CLAassistant commented Dec 31, 2025

CLA assistant check
All committers have signed the CLA.

@ParadoxV5 ParadoxV5 requested a review from vuvova December 31, 2025 03:22
@ParadoxV5
Copy link
Contributor Author

Yeah PR view doesn’t know that MDEV-37530 is a PR based on main

@ParadoxV5 ParadoxV5 changed the title MDEV-38410 MDEV-37530 fixes Dec 31, 2025
Some environments appear not to retain the backing array of a
static `std::initializer_list` in the MDEV-37530 release candidate,
and eventually crash when reading overwritten data.

This commit resolves the stealth issue by reverting to conventional
arrays, while maintaining convenience through deductive overloads.
@ParadoxV5 ParadoxV5 added the Replication Patches involved in replication label Dec 31, 2025
Comment on lines 101 to 102
* my_b_printf() needs updates and so doesn't
support `long long`s at the movement.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previous discussion: #3724 (comment)

ParadoxV5 and others added 2 commits December 31, 2025 13:34
* Some of our platforms (namely SUSE 15, which uses GCC 7.5)
  support C++17 syntaxes, but not all libraries, <charconv> among those.
* We are yet to figure out what to do with our 10 choices of string→int
  converters, so now is not the time to settle preferences on <charconv>
  or whatever superset that covers all of their cases.

Co-authored-by: Sergei Golubchik <serg@mariadb.org>
Arithmetics start from `int` and so auto-promotes.
@ParadoxV5 ParadoxV5 marked this pull request as ready for review December 31, 2025 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

MariaDB Corporation Replication Patches involved in replication

Development

Successfully merging this pull request may close these issues.

3 participants