You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Deprecations
Following deprecated components are removed:
clickhouse-cli-client
clickhouse-grpc-client
Important Changes
[client-v2] New transport layer implementation is used by default. It is still possible to switch back
using old implementation by setting com.clickhouse.client.api.Client.Builder#useNewImplementation to false. (#1847)
New Features
[client-v2] Now there is an easy way to set custom HTTP headers globally for client and per operation.
See com.clickhouse.client.api.Client.Builder.httpHeader(java.lang.String, java.lang.String) for details. (#1782)
[client-v2] Now there is a way to set any server settings globally for client and per operation.
See com.clickhouse.client.api.Client.Builder.serverSetting(java.lang.String, java.lang.String) for details. (#1782)
[client-v2] Added support for writing AggregateFunction values (bitmap serialization). !! Reading is not
supported but will be added in the next release. (#1814)
[r2dbc] Defer connection creation. This allows pool to create a new instance on every subscription,
instead of always returning the same one. (#1810)
Performance Improvements
[client-v2] Improved reading fixed length data like numbers. It is possible to configure readers to
use pre-allocated buffers to avoid memory allocation for each data row/block. Significantly reduces GC pressure.
See com.clickhouse.client.api.Client.Builder.allowBinaryReaderToReuseBuffers for details. (#1816)
[client-v2] New API method introduced to read data directly to a POJO. Deserializers for POJO classes are compiled into
bytecode (with help of https://asm.ow2.io/ library) and optimized for each schema. It is great performance boost
because data is read without copying it into temporary structures. Code can be optimized by JVM while runtime as SerDe
code is implemented without reflection using JVM bytecode. Using bytecode makes handling primitive types without values boxing. (#1794, #1826)
[client-v2] Optimized reading columns - internally data is read into map of column-values. It is done
to allow reading same column more than once. Previously map was cleared each row what caused a lot
internal objects creation. Now values are overridden because schema doesn't change between rows. (#1795)
[doc] Main documentation on official ClickHouse website is updated. Each client has its own page with detailed information now.
Added documentation for the Client V2. See https://clickhouse.com/docs/en/integrations/java.
Bug Fixes
[client-v2] Fix for cases when missing operation metrics were causing NPE. (#1846)
[client-v2] Fix for handling empty result by BinaryFormat readers. (#1845)
[jdbc] Content of an artifact 'clickhouse-jdbc-{version}-all.jar' is fixed and contains all required classes from clickhouse-client
and clickhouse-data. (#1842)
[client-v1, jdbc] Endpoints definition parsing fixed to grub properties correctly. Now even properties with key-value
pairs are supported. (#1841, #1665)