Skip to content

feat(module): create C++20 module files for kcenon.database#315

Merged
kcenon merged 2 commits into
mainfrom
feature/314-create-cpp20-module-files
Jan 3, 2026
Merged

feat(module): create C++20 module files for kcenon.database#315
kcenon merged 2 commits into
mainfrom
feature/314-create-cpp20-module-files

Conversation

@kcenon

@kcenon kcenon commented Jan 3, 2026

Copy link
Copy Markdown
Owner

Summary

Create C++20 module infrastructure for database_system as part of Issue #314.

  • Add module files in src/modules/ directory
  • Add CMake 3.28+ module support with DATABASE_BUILD_MODULES option
  • Update README.md with module usage documentation

Module Structure

Module Description
kcenon.database Primary module interface
kcenon.database:core Core types, backend interfaces, manager
kcenon.database:query Query builder, dialect, conditions
kcenon.database:backends Backend implementations (conditional)

Dependencies

  • kcenon.common (Tier 0) - Required

Files Changed

  • src/modules/database.cppm - Primary module
  • src/modules/core.cppm - Core partition
  • src/modules/query.cppm - Query partition
  • src/modules/backends.cppm - Backends partition
  • database/CMakeLists.txt - Module build support
  • README.md - Documentation update

Test plan

  • Build passes with existing configuration
  • All 224 tests pass
  • CI/CD pipeline passes
  • Module build tested with CMake 3.28+ (optional)

Closes #314

kcenon added 2 commits January 3, 2026 18:59
Create C++20 module infrastructure for database_system:

Module structure:
- src/modules/database.cppm: Primary module interface
- src/modules/core.cppm: Core partition (types, backend, context)
- src/modules/query.cppm: Query partition (builder, dialect)
- src/modules/backends.cppm: Backends partition (conditional)

CMake integration:
- Add DATABASE_BUILD_MODULES option (requires CMake 3.28+)
- Create database_modules target when enabled
- Module scanning with CMAKE_CXX_SCAN_FOR_MODULES

Dependencies:
- kcenon.common (Tier 0) - Result<T>, error handling

Part of #314
- Add module information to Latest Updates section
- Add C++20 Module Support section with usage example
- Document CMake 3.28+ requirement and DATABASE_BUILD_MODULES option

Part of #314
@github-actions

github-actions Bot commented Jan 3, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

No comparison reports available. Baseline may not be established yet.

@kcenon kcenon merged commit c08613a into main Jan 3, 2026
26 checks passed
@kcenon kcenon deleted the feature/314-create-cpp20-module-files branch January 3, 2026 10:56
kcenon added a commit that referenced this pull request Apr 13, 2026
* feat(module): add C++20 module files for kcenon.database

Create C++20 module infrastructure for database_system:

Module structure:
- src/modules/database.cppm: Primary module interface
- src/modules/core.cppm: Core partition (types, backend, context)
- src/modules/query.cppm: Query partition (builder, dialect)
- src/modules/backends.cppm: Backends partition (conditional)

CMake integration:
- Add DATABASE_BUILD_MODULES option (requires CMake 3.28+)
- Create database_modules target when enabled
- Module scanning with CMAKE_CXX_SCAN_FOR_MODULES

Dependencies:
- kcenon.common (Tier 0) - Result<T>, error handling

Part of #314

* docs: add C++20 module support documentation

- Add module information to Latest Updates section
- Add C++20 Module Support section with usage example
- Document CMake 3.28+ requirement and DATABASE_BUILD_MODULES option

Part of #314
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.

[MODULE] Create C++20 module files for kcenon.database

1 participant