DotRocks 1.4.0
A minor 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 introduces the experimental DotRocks.FlightSql package: a separate Arrow Flight SQL transport that streams native Arrow record batches for analytical reads, with async ADO.NET types, EF Core integration, and an explicit, opt-in MySQL-protocol fallback.
Added
- An experimental
DotRocks.FlightSqlpackage provides a separate Arrow Flight SQL transport. It streams nativeApache.Arrow.RecordBatchresults, executes standard Flight SQL statement updates, exposes async ADO.NET reader/command/transaction types, and can drive the existing EF Core provider through itsDbConnectionoverload. Named parameters reuse DotRocks's safe SQL binder. Optional MySQL-protocol fallback is explicit: reads retry only safe discovery failures, while writes are routed before Flight so an ambiguous write is never replayed. Endpoint hosts remain allowlisted before credentials or tickets are forwarded. In-process protocol coverage, live StarRocks 3.5.5/4.0.7 Flight-read and fallback-write integration coverage, and comparative transport benchmarks are included. The standard Flight update path is retained for compatible endpoints; StarRocks 4.0.7 returnsUNIMPLEMENTEDfor statementDoPutin live validation.
Compatibility
- .NET 10 / C# 14. The existing
DotRocks.Data,DotRocks.EntityFrameworkCore, and analyzer packages are unchanged —DotRocks.FlightSqlis a new, optional package and the only one that depends onApache.Arrow/Grpc.Net.Client; the core driver remains dependency-free. The Flight transport is asynchronous-only (synchronous ADO.NET members fail explicitly), plaintextgrpc://endpoints requireAllowInsecureTransport, and MySQL-protocol fallback requires both an explicit fallback mode and a fallback connection string. Treat the package surface as experimental: its public API may change in a minor release while it stabilizes.
Full Changelog: v1.3.5...v1.4.0