[C#] Module bindings for Typed Query Builder#4159
Conversation
joshua-spacetime
left a comment
There was a problem hiding this comment.
Is it possible to share the core query builder types between the sdk and module bindings? I also think we should have end-to-end tests similar to what we have for the client builder.
Requested changes made, merging both the common Module Bindings and Client SDK sides of Module Builder into the |
...es/bindings-csharp/Codegen.Tests/fixtures/diag/snapshots/ExtraCompilationErrors.verified.txt
Show resolved
Hide resolved
Co-authored-by: joshua-spacetime <josh@clockworklabs.io> Signed-off-by: Ryan <r.ekhoff@clockworklabs.io>
a39ac22 to
a6d7ba9
Compare
Signed-off-by: Ryan <r.ekhoff@clockworklabs.io>
joshua-spacetime
left a comment
There was a problem hiding this comment.
This looks good. My only request would be to add an end-to-end test that subscribes to a query builder view and verify we get an initial result and that the client gets updates when the view is updated. Otherwise it's ready to merge.
Description of Changes
This is the implementation of the Typed Query Builder for C# modules outlined in #3750.
This requires the changes from #4146 to be in place before it can properly function.
This aligns the C# typed query builder SQL formatter with the Rust implementation:
And/Orwith same grouping styles as Rust.Eq/Neq/Lt/…) wrap expressions in parentheses so chained predicates produce byte-for-byte identical SQL.API and ABI breaking changes
Not breaking. Existing modules keep producing the same SQL semantics; only redundant parentheses were added to match the Rust formatter.
Expected complexity level and risk
2 — localized string-format updates plus parity harness tweaks. Low functional risk; largest concern is ensuring every comparison path gained parentheses.
Testing