Skip to content

fix(mdbx): restore optional build - #114

Merged
LimiNode merged 2 commits into
mainfrom
fix/mdbx-optional-build
Jun 1, 2026
Merged

fix(mdbx): restore optional build#114
LimiNode merged 2 commits into
mainfrom
fix/mdbx-optional-build

Conversation

@LimiNode

@LimiNode LimiNode commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • add public Logger backend accessors used by typed logger macros and the MDBX example
  • add mdbx-containers to_bytes/from_bytes support for MdbxLogger value types
  • add explicit C++17 guard and MDBX CI job

Replacement PR

This replaces #113. The previous PR was opened from feat/mdbx-logger after main already contained the squashed MDBX feature work, so GitHub showed the old MDBX diff again and reported merge conflicts. This branch was recreated from current origin/main and contains only the incremental fix.

Verification

  • cmake -S . -B build-mdbx-clean -G "MinGW Makefiles" -DLOGIT_CPP_BUILD_TESTS=ON -DLOGIT_CPP_BUILD_EXAMPLES=ON -DLOGIT_WITH_MDBX=ON -DLOGIT_USE_SUBMODULES=ON -DCMAKE_CXX_STANDARD=17
  • cmake --build build-mdbx-clean
  • ctest --test-dir build-mdbx-clean --output-on-failure -R mdbx_logger_test
  • cmake -S . -B build-default-clean -G "MinGW Makefiles" -DLOGIT_CPP_BUILD_TESTS=ON -DCMAKE_CXX_STANDARD=17
  • cmake --build build-default-clean
  • ctest --test-dir build-default-clean --output-on-failure --quiet
  • git diff --check origin/main...HEAD

🤖 Generated with Claude Code

MDBX support was hidden behind an opt-in flag, so CI did not compile the backend test or the example path. The backend also relied on private Logger internals and lacked the value serialization contract required by mdbx-containers.

Constraint: keep vendored mdbx-containers unchanged
Directive: LOGIT_WITH_MDBX requires C++17 or newer
Confidence: high
Scope-risk: moderate

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The typed Logger backend accessor should not expose a mutable backend pointer through a const Logger instance. Split it into mutable and const overloads so the public API matches the registry constness.

Constraint: keep existing mutable macro behavior unchanged
Confidence: high
Scope-risk: narrow

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@LimiNode
LimiNode merged commit 8cabb31 into main Jun 1, 2026
13 checks passed
@LimiNode
LimiNode deleted the fix/mdbx-optional-build branch June 3, 2026 00:04
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.

1 participant