Skip to content

chdb-rust v2.1.0

Latest

Choose a tag to compare

@wudidapaopao wudidapaopao released this 05 Nov 19:49
f4f922a

chdb-rust v2.1.0 adds zero-copy access to query results, buffers insert-stream writes, and moves to chDB core v26.11.0-rc.2.

Highlights

  • Added QueryResult::data_str(), which borrows a result as &str without copying it, and Error::InvalidUtf8 for results that are not text (#59).
  • InsertStream gathers writes made through io::Write into a 64 KiB buffer, so a writeln! per row no longer costs an FFI call per row; with_write_buffer(bytes) changes the size and 0 turns buffering off (#58).
  • Query parameters are encoded without copying every value (#62).
  • Added Error::EngineCallFailed { call }, returned instead of Error::Unknown when runtime::shutdown or InsertStream::append fails without a reason from the engine (#57).
  • The runtime::shutdown docs now say to drop every connection before the process exits and to call shutdown after the last one: exiting with a connection open while MergeTree merges run can crash the process (#65).

Behaviour changes

  • Because writes are buffered, an error from a bad row can surface on a later write, on flush() or on finish() rather than on the write that caused it (#58).

This release is built against chDB core v26.11.0-rc.2, a release candidate.