Documentation Index
Fetch the complete documentation index at: https://private-7c7dfe99-page-updates.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
- Breaking:
clickhouse::UInt128type definition has been changed fromstd::pair<uint64_t,uint64_t,>toabsl::uint128for consistency withclickhouse::Int128 - Added methods
ReserveandCapacityto numeric and date columns https://github.com/ClickHouse/clickhouse-cpp/pull/330 by @rtcote - Added the
Reservemethod to other columns https://github.com/ClickHouse/clickhouse-cpp/pull/341 by @1261385937 - Added Block::Clear() and Block::Reserve() to clear or preallocate block capacity https://github.com/ClickHouse/clickhouse-cpp/pull/427 by @Enmk
- Modified
ColumnLowCardinality::Reserve(X)to reservesqrt(X)items, since items usually repeat https://github.com/ClickHouse/clickhouse-cpp/pull/427 by @Enmk AddedSwapElementsand a comparison function to numeric and date columns to enable in-place sorting https://github.com/ClickHouse/clickhouse-cpp/pull/330 by @rtcote - Added method
GetWritableDatato numeric columns https://github.com/ClickHouse/clickhouse-cpp/pull/330, https://github.com/ClickHouse/clickhouse-cpp/pull/338/files by @rtcote and @Enmk - Implemented rvalue reference overload for
ColumnArray::Appendto allow optimizations when passing rvalues https://github.com/ClickHouse/clickhouse-cpp/pull/345 by @1261385937 - Added
Client::GetVersion()to get the current library version; addedversion.h; extended build scripts to read and validate the version number during release; fixed https://github.com/ClickHouse/clickhouse-cpp/issues/347 https://github.com/ClickHouse/clickhouse-cpp/pull/348 https://github.com/ClickHouse/clickhouse-cpp/pull/351 by @Enmk - Added
FixedStringType::GetSize()https://github.com/ClickHouse/clickhouse-cpp/pull/355 by @german3w1 - Added support for ZSTD compression https://github.com/ClickHouse/clickhouse-cpp/pull/367 by @byian
- Added missing
ColumnDateTime::RawAt()https://github.com/ClickHouse/clickhouse-cpp/pull/375 by @moaazassali - Added
Client::SelectWithExternalData(...)andClient::SelectWithExternalDataCancelable(...)to support queries with external data https://github.com/ClickHouse/clickhouse-cpp/pull/419 by @pet74alex - Added
UInt128support; fixed https://github.com/ClickHouse/clickhouse-cpp/issues/378 https://github.com/ClickHouse/clickhouse-cpp/pull/424 by @pet74alex - Added validation when inserting into
ColumnArrayto prevent possible data corruption https://github.com/ClickHouse/clickhouse-cpp/pull/428 by @IyeOnline - Changed the client name reported to the server to avoid confusion with the
clickhouse clientclienthttps://github.com/ClickHouse/clickhouse-cpp/pull/439 by @slabko - Disabled
BUILD_SHARED_LIBS,BUILD_BENCHMARK, andBUILD_TESTSwhen used as a submodule in another project https://github.com/ClickHouse/clickhouse-cpp/pull/386 by @AndreyAlifanov - Allowed specifying parameters for each query via
Query::SetParams(...)https://github.com/ClickHouse/clickhouse-cpp/pull/394 by @OlegGalizin - Added
DISABLE_CLANG_LIBC_WORKAROUNDCMake parameter to disable linking compiler-rt & gcc_s when using Clang with libstdc++ https://github.com/ClickHouse/clickhouse-cpp/pull/399 by @kclonts
Fixes
- Fixed https://github.com/ClickHouse/clickhouse-cpp/issues/408 by including dependencies in installation https://github.com/ClickHouse/clickhouse-cpp/pull/409 by @fdr400
- Correctly handled the return value of the
sendsyscall https://github.com/ClickHouse/clickhouse-cpp/pull/404 https://github.com/ClickHouse/clickhouse-cpp/pull/407 by @dngrudin - Avoided calling the exception copy constructor when throwing exceptions https://github.com/ClickHouse/clickhouse-cpp/pull/413 by @OlegGalizin
- Fix https://github.com/ClickHouse/clickhouse-cpp/issues/432 by adding missing files to installation https://github.com/ClickHouse/clickhouse-cpp/pull/435 by @slabko
- Portability fix: corrected types for
recv_timeoutandsend_timeouthttps://github.com/ClickHouse/clickhouse-cpp/pull/337 by @jiayuehua - Portability fix: renamed deprecated
std::memory_order::memory_order_relaxedtostd::memory_order_relaxedhttps://github.com/ClickHouse/clickhouse-cpp/pull/343 by @georgthegreat - Portability fix: added missing includes https://github.com/ClickHouse/clickhouse-cpp/pull/357 by @hdnpth
- Portability fix: fixed compilation on MinGW https://github.com/ClickHouse/clickhouse-cpp/pull/414 by @HRex39
Various test and documentation improvements
- Documentation for using asynchronous inserts https://github.com/ClickHouse/clickhouse-cpp/pull/393 by @1261385937
- Documentation improvements https://github.com/ClickHouse/clickhouse-cpp/pull/438 by @theory
- Tests improvements https://github.com/ClickHouse/clickhouse-cpp by @Enmk
- Tests improvements https://github.com/ClickHouse/clickhouse-cpp/pull/342 by @1261385937
- Tests improvements https://github.com/ClickHouse/clickhouse-cpp/pull/410 by @Enmk
- Tests and CI improvements https://github.com/ClickHouse/clickhouse-cpp/pull/429 by @Enmk
Fixes
- Fixed crash if
Clientwas constructed withClientOptions.SetSendRetries(0)by @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/336
New features
- Multiple endpoints for connection. by @MikhailBurdukov in https://github.com/ClickHouse/clickhouse-cpp/pull/310 (and https://github.com/ClickHouse/clickhouse-cpp/pull/327 by @Harvey-Liu)
- Add move semantics for
ColumnEnumby @bduminiuc in https://github.com/ClickHouse/clickhouse-cpp/pull/328 - Implemented
AppendRaw/RawAtforColumnDateandColumnDate32that work withuint16_t/int32_tby @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/320 - Fix
ColumnArrayT<ColumnLowCardinalityT<ColumnString>>::Appendby @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/331
Fixes
- Fix abnormal column names in gcc7.3.1 by @alenstarx in https://github.com/ClickHouse/clickhouse-cpp/pull/317 (also https://github.com/ClickHouse/clickhouse-cpp/pull/321 by @Enmk )
- Fix system cityhash setup by @ZhongRuoyu in https://github.com/ClickHouse/clickhouse-cpp/pull/301
CI/CD and tests
- Less flaky tests when executing against remote server (not docker) by @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/329
Other
- Updated
ColumnString::LoadBodyby @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/309 - Fix compile warning by @1261385937 in https://github.com/ClickHouse/clickhouse-cpp/pull/312
- added DEBUG_DEPENDENCIES by @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/302
- Set
backward_compatibility_lowcardinality_as_wrapped_columndefault value tofalseby @Enmk in https://github.com/ClickHouse/clickhouse-cpp/pull/333
New Contributors
- @ZhongRuoyu made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/301
- @MikhailBurdukov made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/310
- @alenstarx made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/317
- @bduminiuc made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/328
- @Harvey-Liu made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/327
Fixes
- fix bug in ColumnLowCardinality::Load (#270 by @den818)
- fix bug with load/save Array with empty arrays (#272 by @den818)
- Fix crash on invalid AST (#273 by @Enmk)
- Fix getaddrinfo error reporting (#278 by @nUl1)
- Fixed deprecation warning (#285 by @Enmk)
New features
- timeout from seconds to milliseconds (#253 by @1261385937)
- Support column type: map (#254, #257 by @den818)
- Support geo column types (#258 by @den818)
- New method
ColumnTuple::At(). (#268 by @huyphams) - ColumnNulableT and wrap for LowCardinalityT (#269 by @den818)
- Add connect timeout to socket (#277 by @nUl1)
- Handle “Bool” columns (#279 by @ays7)
- Added Query.onProfile and handling of Profile data (#298 by @Enmk)
New options (clickhouse::ClientOptions)
- connection_connect_timeout - socket connect timeout, milliseconds
- connection_recv_timeout - socket recv timeout, milliseconds
- connection_send_timeout - socket send timeout, milliseconds
Other
- Separate building static and shared libs (#219 by @Jihadist)
- Update bench.cpp (#242 by @dabao085)
- Update LICENSE (#276 by @blinkov)
- Add options to use system abseil, lz4 and cityhash (#281 by @Jihadist)
- Dependencies info (#286 by @Enmk)
- Expand application tutorial (#293 by @rschu1ze)
- Fix formatting in README.md (#294 by @rschu1ze)
- Fixed gcc13 warnings (#296 by @ays7)
- Minor: Deprecated LowCardinalitySerializationAdaptor (#300 by @Enmk)
CI/CD
- Scheduling CI/CD runs on Monday midnight (#263 by @Enmk)
- Explicitly using ubuntu-20.04 instead of ubuntu-latest (#264 by @Enmk)
- Disabled
system.query_logs-dependent unit-tests (#267 by @Enmk) - Don’t run query id tests on non linux (#298 by @Enmk)
- Fix Windows build (#299 by @Enmk)
New Contributors
- @dabao085 made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/242
- @nUl1 made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/277
- @Jihadist made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/219
- @ays7 made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/279
- @rschu1ze made their first contribution in https://github.com/ClickHouse/clickhouse-cpp/pull/293
Fixes
- Fixed leaking socket (#228 by @Enmk)
- Fix build on UWP (#230 by @Thomas1664)
- Update CMake include directories (#247 by @KuribohG)
New features
- more flexible memory management for
ColumnString(#202 by @1261385937) - Fix
CreateColumnFromAstforEnum(#210 by @1261385937) - Add recv/send timeouts to socket (#205 by @horoshenkiy, #217 by @1261385937)
- Client Write info (written rows/bytes ) (#221 by @den818)
- Per query settings (#231 by @den818)
- Receiving server logs (#222 by @den818)
- support open telemetry (#232 by @den818)
- Profile events for query (#236 by @den818)
Performance improvements
- Significantly improved
ColumnString’s performance (#248, #249 by @1261385937)
Other
- Style: added modificators: explicit and override for Compressed (#206 by @k-morozov)
- Fixed examples (#220 by @peter279k)
- updated protocol version (#223 by @den818)
- ClickHouse server 22.3 for Linux workflow (#240 by @Enmk)
Deprecated APIs and settings
FromStringand entire headerClientOptions::backward_compatibility_lowcardinality_as_wrapped_columnStringViewand entire header See #233 #250
Fixes
- Fixed connection issue on windows (#196 by @inaryart)
- update CMake and install new
server_exception.hby (#199 @xkommando)
Major new features
- Proper Exception hierarchy to simplify exception handling from user side (#164 by @itrofimow)
- Added type-safe wrapper for Array column:
CollumnArrayT<T>(#171 by @Enmk) - Added
Array(LowCardinality(X))support (#173 by @arthurpassos) - Added
Date32support viaColumnDate32(#175 by @huyphams, #190 by @Enmk) - Added support of
LowCardinality(Nullable(X))(#182 by @arthurpassos)
Fixes
ItemViewis now compatible with libcxx (https://github.com/ClickHouse/clickhouse-cpp/pull/167 @itrofimow)- Fix build on clang & libc++ (https://github.com/ClickHouse/clickhouse-cpp/pull/169 @DavidKeller)
- Fixed nested array support
Array(Array(...(X)))(https://github.com/ClickHouse/clickhouse-cpp/pull/171 by @Enmk) - Fixed handling
Hellopacket from server (https://github.com/ClickHouse/clickhouse-cpp/pull/174 @huyphams) - Better performance of
ColumnArray::Slice(https://github.com/ClickHouse/clickhouse-cpp/pull/176 by @Enmk) - Minor optimization of
ColumnEnum(https://github.com/ClickHouse/clickhouse-cpp/pull/192 by @Enmk)
Other
#170, #179, #180, #181, #183, #189, #191, #193Full Changelog: https://github.com/ClickHouse/clickhouse-cpp/compare/v2.1.0…v2.2.0Changes since
2.0.0Major new features
ColumnTuple::Append#126- Socket injection by user #147
- Skipping SSL certificate validation on client side #152
- Allow setting Query_ID #161
Fixes
- Fix for MSVC compilation #128
- GCC-8 fix #134
- Fixed
ColumnIPv4::Append()#148 - Fixed
ColumnIPv4andColumnIPv6construct from data #149 - Better performance for
Type::IsEqual()#156
Other
#116, #118, #120, #131, #132, #135, #136, #137, #150, #155, #156Full Changelog: https://github.com/ClickHouse/clickhouse-cpp/compare/v2.0.0…v2.1.0Fixes
- Fixed build on GCC 10.2.1 (PR #56)
- Fixed socket connecting on Windows (PR #63)
- Fixed builds on platforms that do not have
__int128intrinsic by usingabsl::Int128(PR #66) - Fixed bug in
ColumnFixedStringon mismatching value size (PR #68) - Fixed
EnumType::GetName()for empty enums (PR #70)
Features
- Allowing column names with spaces, quotes and other special symbols (PR #31)
- Gracefully handling unexpected communication termination on
INSERT(PR #64) - Supporting timezone parameter for
DateTimeandDateTime64(PR #70) - Added
TCP_NO_DELAYsupport (PRs: #54 #74) - Allow users to explicitly access
LowCardinality(WrappedColumn)column asWrappedColumn(PR #79)
Other
- Minor performance improvements (PR #58)
- LZ4 version 1.9.2 (PR #60)
- Minor API improvements (PR #82)
Changes since previous release:
- Fix of LowCardinality bug: empty string converted to other value on INSERT (#53)
Changes since previous release:
- Added support of
DateTime64data type (#50) - Fixed bug in
ColumnLowCardinality::Clear()(#49)
Changes since previous release:
- Added support for
SimpleAggregateFunction(https://github.com/ClickHouse/clickhouse-cpp/pull/45) - Fixed building with GCC-10 (https://github.com/ClickHouse/clickhouse-cpp/pull/42)
- Fixed loading of the empty nested array (https://github.com/ClickHouse/clickhouse-cpp/pull/46)
- Fixed query retrying mechanism by respecting
send_retriesvalue (https://github.com/ClickHouse/clickhouse-cpp/pull/47)
Recent major features are:
LowCardinalitycolumn support (#33)- Improved performance of
StringandFixedStringcolumns (#29) - Various bugfixes
