|
12 | 12 | using old implementation by setting `com.clickhouse.client.api.Client.Builder#useNewImplementation` to `false`. (https://github.com/ClickHouse/clickhouse-java/pull/1847) |
13 | 13 |
|
14 | 14 | ### New Features |
15 | | -- [client-v2] Now there is an easy way to set custom header globally for client and per operation. |
| 15 | +- [client-v2] Now there is an easy way to set custom HTTP headers globally for client and per operation. |
16 | 16 | See `com.clickhouse.client.api.Client.Builder.httpHeader(java.lang.String, java.lang.String)` for details. (https://github.com/ClickHouse/clickhouse-java/issues/1782) |
17 | | -- [client-v2] Not there is a way to set any server settings globally for client and per operation. |
| 17 | +- [client-v2] Now there is a way to set any server settings globally for client and per operation. |
18 | 18 | See `com.clickhouse.client.api.Client.Builder.serverSetting(java.lang.String, java.lang.String)` for details. (https://github.com/ClickHouse/clickhouse-java/issues/1782) |
19 | 19 | - [client-v2] Added support for writing AggregateFunction values (bitmap serialization). !! Reading is not |
20 | | -supported but will be added in next release. (https://github.com/ClickHouse/clickhouse-java/pull/1814) |
| 20 | +supported but will be added in the next release. (https://github.com/ClickHouse/clickhouse-java/pull/1814) |
21 | 21 | - [r2dbc] Defer connection creation. This allows pool to create a new instance on every subscription, |
22 | 22 | instead of always returning the same one. (https://github.com/ClickHouse/clickhouse-java/pull/1810) |
23 | 23 |
|
24 | 24 | ### Performance Improvements |
25 | 25 | - [client-v2] Improved reading fixed length data like numbers. It is possible to configure readers to |
26 | | -use pre-allocated buffers to avoid memory allocation for each data row/block. |
| 26 | +use pre-allocated buffers to avoid memory allocation for each data row/block. Significantly reduces GC pressure. |
27 | 27 | See `com.clickhouse.client.api.Client.Builder.allowBinaryReaderToReuseBuffers` for details. (https://github.com/ClickHouse/clickhouse-java/pull/1816) |
28 | | -- [client-v2] New query method introduced to read data into a POJO. POJO deserializers are compiled into |
| 28 | +- [client-v2] New API method introduced to read data directly to a POJO. Deserializers for POJO classes are compiled into |
29 | 29 | bytecode (with help of https://asm.ow2.io/ library) and optimized for each schema. It is great performance boost |
30 | | -because data is read without additional copies. As serde code is implemented without reflection using JVM bytecode |
31 | | -then code can be optimized by JVM while runtime. Using ASM allows handle primitive types without boxing. (https://github.com/ClickHouse/clickhouse-java/pull/1794, |
| 30 | +because data is read without copying it into temporary structures. Code can be optimized by JVM while runtime as SerDe |
| 31 | +code is implemented without reflection using JVM bytecode. Using bytecode makes handling primitive types without values boxing. (https://github.com/ClickHouse/clickhouse-java/pull/1794, |
32 | 32 | https://github.com/ClickHouse/clickhouse-java/pull/1826) |
33 | 33 | - [client-v2] Optimized reading columns - internally data is read into map of column-values. It is done |
34 | 34 | to allow reading same column more than once. Previously map was cleared each row what caused a lot |
35 | 35 | internal objects creation. Now values are overridden because schema doesn't change between rows. (https://github.com/ClickHouse/clickhouse-java/pull/1795) |
36 | 36 |
|
37 | 37 | ### Documentation |
38 | 38 | - [client-v2] Added example for Kotlin (https://github.com/ClickHouse/clickhouse-java/pull/1793) |
39 | | -- [doc] Main documentation on official ClickHouse website is updated. See https://clickhouse.com/docs/en/integrations/java. |
40 | | - Each client has its own page with detailed information. Added documentation for client v2. |
| 39 | +- [doc] Main documentation on official ClickHouse website is updated. Each client has its own page with detailed information now. |
| 40 | +Added documentation for the Client V2. See https://clickhouse.com/docs/en/integrations/java. |
41 | 41 |
|
42 | 42 | ### Bug Fixes |
43 | | -- [client-v2] Fix for case when missing operation metrics were causing NPE. (https://github.com/ClickHouse/clickhouse-java/pull/1846) |
| 43 | +- [client-v2] Fix for cases when missing operation metrics were causing NPE. (https://github.com/ClickHouse/clickhouse-java/pull/1846) |
44 | 44 | - [client-v2] Fix for handling empty result by BinaryFormat readers. (https://github.com/ClickHouse/clickhouse-java/pull/1845) |
45 | 45 | - [jdbc] Content of an artifact 'clickhouse-jdbc-{version}-all.jar' is fixed and contains all required classes from `clickhouse-client` |
46 | 46 | and `clickhouse-data`. (https://github.com/ClickHouse/clickhouse-java/pull/1842) |
|
0 commit comments