Java client and JDBC driver for ClickHouse
Warning Please upgrade to v0.4.4 to resolve dependency issue.
This is a tiny release for bug fixing. Please upgrade if your work rely on text-based data format and/or R2DBC driver.
This is a minor release with bug fixes and some new features.
💥 BREAKING CHANGES
compression
, infile
, and outfile
🐛 Bug Fix
✨ New Feature
custom_jdbc_config
- #1290BEGIN TRANSACTION
, COMMIT
, and ROLLBACK
statements in JDBC driverdatabaseTerm
(catalog or schema, defaults to schema) - #1273externalDatabase
(boolean, defaults to true) to enable/disable external database metadata - #1245localFile
(boolean, defaults to false) to support INFILE and OUTFILE - #1291🎨 Misc
provided
scopeThis is a patch release mainly for bug fixing. It is highly recommended to upgrade if you're using v0.4.0.
💥 BREAKING CHANGES
compress_alogrithm
-> compress_algorithm
decompress_alogrithm
-> decompress_algorithm
🐛 Bug Fix
Nested
, which also impacted JSON
- #1242StreamCorruptedException
instead of generic IOException
when deserialization failed (mostly due to server error)✨ New Feature
ClickHouseInputStream
, which slightly improved performance of piping - #1238ClickHouseOutputStream.transferBytes()
is deprecated and it will be removed in 0.5read()
and write()
methods in ClickHouseClient - connect()
is deprecated and it will be removed in 0.5🎨 Misc
clickhouse-jdbc
to clickhouse-java
, and branch from master
to main
by @mshustovHappy Spring Festival everyone! Apologize for a minor release taking so long :p
This is a feature release with new features, performance improvement, bug fixes, and unfortunately breaking changes.
💥 BREAKING CHANGES
JdbcTypeMapping
to make it extensible - #1075ru.yandex.*
- #1089 by @mzitnikclickhouse-data
from clickhouse-client
along with new packages - #1197
com.clickhouse.config // generic configuration
com.clickhouse.data // data processing utilities
com.clickhouse.logging // generic logging utility
mvn -Dj8 clean install # for jdk8, it was 'mvn clean install'
mvn clean install # for jdk17, it was 'mvn -Drelease clean install'
🐛 Bug Fix
✨ New Feature
custom_settings
- #1059ClickHouseRequestManager
to support query/session ID customization - #1074clickhouse-grpc-client
to support request chunking and compression
decompress_alogrithm
(request compression): BROTLI
[-1,11], BZ2
, DEFLATE
[0,9], GZIP
[-1,9], LZ4
[0,18], XZ
[0,9], ZSTD
[0,22]compress_alogrithm
(response decompression): DEFLATE
, LZ4
, ZSTD
Note: typo will be fixed in v0.4.1.clickhouse-http-client
to support zstd compression for both request and response
decompress_alogrithm
(request compression): LZ4
[0,18], ZSTD
[0,22]compress_alogrithm
(response decompression): BROTLI
, BZ2
, DEFLATE
, GZIP
, LZ4
, XZ
, ZSTD
Note: typo will be fixed in v0.4.1.select distinct http_user_agent from system.query_log
) - #1182ClickHouseRequest
by treating input stream and ClickHouseWriter
equally - #1200🎨 Misc
develop
branch, which accidentally removed all open pull requests 😭<repositories>
<repository>
<id>ossrh</id>
<name>Sonatype OSSRH</name>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
This is a patch release for bug fixes and experimental features.
Bug Fix
PreparedStatement
- #977ResultSet.getObject(int, Class)
may return default value instead of null - #979PreparedStatement.addBatch()
timed out - #991nullAsDefault
to 2
may trigger IllegalArgumentException
when handling timestamp with timezone - #999New Feature
ClickHouseRequestManager
is added for customizing query ID and session ID - #870PreparedStatement.getParameterMetaData()
is implemented - #972repeat_on_session_lock
to false
to turn it offThis is a patch release for bug fixes and experimental features.
Bug Fix
rename_response_column
option no longer impact metadata queries - #938New Feature
clickhouse-cli-client
, a wrapper of ClickHouse native command-line, was added mainly for testingnullAsDefault
for handling null value in both insert and query - see comment at here
This is a patch release mainly for fixing below issues:
unsupported format
error when loading data in custom format - #909In addition, a few more changes(mainly for streaming) were merged from 0.3.3 branch, along with some new features:
rename_response_column
for removing column prefixrequest_chunk_size
(defaults to 8192) for streaming - same option will be applied to gRPC client in the near futurerequest_buffering
and response_buffering
for customizing buffering mode - more details will be covered in #928
buffer_size
, max_buffer_queue
, buffer_queue_variation
, use_blocking_queue
etc. to balance performance and resource utilizationThis is a patch release mainly for fixing below issues:
Map(String,Array(Nullable(DateTime64(3,'Asia/Shanghai'))))
In addition, more changes(mostly related to streaming) were merged from 0.3.3 branch along with some new features:
select tuple(1,[2,3], map('4', 5))::Tuple(Int32, Array(Int32), Map(LowCardinality(String), Int32))
select tuple(1,[2,3], map('4', 5))::Tuple(i1 Int32, a1 Array(Int32), m1 Map(LowCardinality(String), Int32))
If you're using Java client, please be aware of below changes which may or may not cause compiling errors:
This is a patch release for fixing below issues in both Java client and JDBC driver.
In addition, there are a few more changes were merged from 0.3.3 branch:
ResultSet.unwrap()
now supports ClickHouseRecord
(current row) in addition to ClickHouseResponse
(whole results)ClickHouseColumn
now provides estimated byte length, which can be used in read/write optimizationClickHouseClient.executeAndWait()
and Mutation.sendAndWait()
for ease of useThis is a patch release for fixing below issues in both Java client and JDBC driver.
insert into table(col1,col2,col3) values(?,?,?)
as insert into table(col1,col2,col3)