Skip to content

2.6.0

Latest

Choose a tag to compare

@slabko slabko released this 21 Sep 20:49
6919524

New features

  • Breaking: clickhouse::UInt128 type definition has been changed from std::pair<uint64_t,uint64_t,> to absl::uint128 for consistency with clickhouse::Int128
  • Added methods Reserve and Capacity to numeric and date columns #330 by @rtcote
  • Added the Reserve method to other columns #341 by @1261385937
  • Added Block::Clear() and Block::Reserve() to clear or preallocate block capacity #427 by @Enmk
  • Modified ColumnLowCardinality::Reserve(X) to reserve sqrt(X) items, since items usually repeat #427 by @Enmk
    Added SwapElements and a comparison function to numeric and date columns to enable in-place sorting #330 by @rtcote
  • Added method GetWritableData to numeric columns #330, https://github.com/ClickHouse/clickhouse-cpp/pull/338/files by @rtcote and @Enmk
  • Implemented rvalue reference overload for ColumnArray::Append to allow optimizations when passing rvalues #345 by @1261385937
  • Added Client::GetVersion() to get the current library version; added version.h; extended build scripts to read and validate the version number during release; fixed #347 #348 #351 by @Enmk
  • Added FixedStringType::GetSize() #355 by @german3w1
  • Added support for ZSTD compression #367 by @byian
  • Added missing ColumnDateTime::RawAt() #375 by @moaazassali
  • Added Client::SelectWithExternalData(...) and Client::SelectWithExternalDataCancelable(...) to support queries with external data #419 by @pet74alex
  • Added UInt128 support; fixed #378 #424 by @pet74alex
  • Added validation when inserting into ColumnArray to prevent possible data corruption #428 by @IyeOnline
  • Changed the client name reported to the server to avoid confusion with the clickhouse client clienthttps://github.com//pull/439 by @slabko
  • Disabled BUILD_SHARED_LIBS, BUILD_BENCHMARK, and BUILD_TESTS when used as a submodule in another project #386 by @AndreyAlifanov
  • Allowed specifying parameters for each query via Query::SetParams(...) #394 by @OlegGalizin
  • Added DISABLE_CLANG_LIBC_WORKAROUND CMake parameter to disable linking compiler-rt & gcc_s when using Clang with libstdc++ #399 by @kclonts

Fixes

  • Fixed #408 by including dependencies in installation #409 by @fdr400
  • Correctly handled the return value of the send syscall #404 #407 by @dngrudin
  • Avoided calling the exception copy constructor when throwing exceptions #413 by @OlegGalizin
  • Fix #432 by adding missing files to installation #435 by @slabko
  • Portability fix: corrected types for recv_timeout and send_timeout #337 by @jiayuehua
  • Portability fix: renamed deprecated std::memory_order::memory_order_relaxed to std::memory_order_relaxed #343 by @georgthegreat
  • Portability fix: added missing includes #357 by @hdnpth
  • Portability fix: fixed compilation on MinGW #414 by @HRex39

Various test and documentation improvements

Full Changelog: v2.5.1...v2.6.0

Huge thanks to all contributors for their work on this release. Special thanks to @Enmk, whose long-term dedication and stewardship have kept this library thriving. It wouldn’t be the same without you.