Summary
Extend QueryBuilder with common structured SQL operations while preserving raw SQL access.
The builder should remain lightweight and close to SQL rather than becoming a reflection-based ORM language.
Current behavior
QueryBuilder provides only raw fragment accumulation and parameter storage.
Users manually manage spaces, clauses, identifiers, and placeholders.
Expected behavior
The builder should support structured construction of common SQL statements using validated identifiers and bound values.
Scope
Suggested files
modules/orm/include/vix/orm/QueryBuilder.hpp
modules/orm/src/QueryBuilder.cpp
modules/orm/tests/query_builder_dsl_test.cpp
Acceptance criteria
Non-goals
This issue does not include:
- runtime model reflection;
- automatic joins from entity definitions;
- SQL parsing;
- replacing direct SQL usage.
Suggested labels
scope:orm
type:feature
tests
help wanted
status:accepted
Summary
Extend
QueryBuilderwith common structured SQL operations while preserving raw SQL access.The builder should remain lightweight and close to SQL rather than becoming a reflection-based ORM language.
Current behavior
QueryBuilderprovides only raw fragment accumulation and parameter storage.Users manually manage spaces, clauses, identifiers, and placeholders.
Expected behavior
The builder should support structured construction of common SQL statements using validated identifiers and bound values.
Scope
raw().Suggested files
modules/orm/include/vix/orm/QueryBuilder.hppmodules/orm/src/QueryBuilder.cppmodules/orm/tests/query_builder_dsl_test.cppAcceptance criteria
Non-goals
This issue does not include:
Suggested labels
scope:ormtype:featuretestshelp wantedstatus:accepted