Repository navigation
v2.0.1 – Stable reflection queries and example cleanup
This release finalizes reflection-based query stability and resolves several
edge cases in coroutine and lambda usage under GCC 13+.
🧩 Core Changes
- Fixed internal compiler errors triggered by local struct definitions and
inline std::tuple with std::optional inside coroutines. - Reflection-based queries (
query_reflect,exec_reflect) are now fully
stable and GCC-compatible. - Adjusted reflection mapper to correctly handle aggregates passed from
lambdas and transactions.
⚙️ Example & Schema
- Updated example to remove all local struct definitions.
- Replaced tuple inserts with aggregate-based inserts for clarity.
- Fixed invalid SQL in
ensure_schema()(extra semicolons removed). - Added explicit
std::stringconversion inquery_awaitable()calls to
support C++23’s explicitstring_viewconstructor.
🔒 Reliability
- Safe connection cleanup added in
run_notifications(). - Verified transaction rollback/commit behavior under nested SAVEPOINTs.
✅ Result
Upq now builds cleanly with GCC 13+, Clang 17+, and MSVC 2022.
Reflection queries are production-stable