Skip to content

Add C++ query builder#4664

Open
JasonAtClockwork wants to merge 2 commits intomasterfrom
jlarabie/cpp-query-builder
Open

Add C++ query builder#4664
JasonAtClockwork wants to merge 2 commits intomasterfrom
jlarabie/cpp-query-builder

Conversation

@JasonAtClockwork
Copy link
Contributor

@JasonAtClockwork JasonAtClockwork commented Mar 18, 2026

Description of Changes

  • Added a query builder for C++ module bindings
    • Added query-builder table/filter/join types
    • Added semijoin support with compile-time checks for lookup-table and indexed-field usage
    • Added support for returning query-builder queries from C++ views
    • Hooked query-builder metadata into the C++ table/view macros and V10 module-def path
  • Added test coverage for the new C++ query-builder behavior
    • Compile tests for pass/fail cases
    • SQL tests for generated query output
    • Added a C++ test module for view primary key coverage

API and ABI breaking changes

  • No intended API or ABI breaking changes
  • Adds a new public query-builder API to the C++ bindings
  • C++ views can now return query-builder query types in addition to materialized row results

Expected complexity level and risk

3 - Mostly contained to C++ bindings, but it touches macros, view registration/serialization, and module-def generation, so there are a few places where the pieces need to stay in sync.

Testing

  • Run the C++ query-builder SQL tests [crates/bindings-cpp/tests/query-builder-compile/run_query_builder_compile_tests.sh]
  • Smoke test a generated C++ module using query-builder views

@JasonAtClockwork JasonAtClockwork self-assigned this Mar 18, 2026
@JasonAtClockwork JasonAtClockwork linked an issue Mar 18, 2026 that may be closed by this pull request
@JasonAtClockwork JasonAtClockwork marked this pull request as ready for review March 18, 2026 20:04
@JasonAtClockwork JasonAtClockwork added documentation Improvements or additions to documentation backward-compatible docs deploy whenever Docs updates that aren't tied to a specific release, and should be deployed when convenient. labels Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backward-compatible docs deploy whenever Docs updates that aren't tied to a specific release, and should be deployed when convenient. documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Unreal] Module bindings for query builder

1 participant