Skip to content

DotRocks 1.3.5

Choose a tag to compare

@kidoz kidoz released this 31 Jul 18:59
· 34 commits to main since this release

A patch release of DotRocks — a native .NET driver, Entity Framework Core provider, and Roslyn analyzer suite built specifically for StarRocks. It implements its own managed StarRocks client protocol and takes no runtime dependency on any MySQL driver. This release completes the GREATEST/LEAST work started in 1.3.4 by implementing the EF-standard relational translation hooks, so the params-array EF.Functions.Greatest/Least overloads, Math.Max/Math.Min, and inline-collection Max()/Min() all translate to the native StarRocks functions.

Added

  • EF Core: the EF-standard relational EF.Functions.Greatest/Least params-array overloads (any argument count), Math.Max/Math.Min, and inline-collection Max()/Min() (new[] { a, b, c }.Max()) now translate to the native StarRocks greatest()/least() functions through the relational GenerateGreatest/GenerateLeast visitor hooks, with MySQL NULL semantics (the result is NULL when any argument is NULL) encoded in the nullability annotations. The DotRocks 2–4 argument EF.Functions.Greatest/Least overloads shipped in 1.3.4 remain as compatible sugar.

Compatibility

  • .NET 10 / C# 14. Source- and binary-compatible with 1.3.4 — no public API changes; the new translation surface is provider-internal. Queries using Math.Max/Math.Min, the relational params-array EF.Functions.Greatest/Least, or inline-collection Max()/Min() that previously failed with a translation error now execute on the server. NULL semantics note: StarRocks follows MySQL — greatest()/least() return NULL when any argument is NULL, unlike PostgreSQL and SQL Server, which ignore NULL arguments.

Full Changelog: v1.3.4...v1.3.5