Skip to content

Releases: ClickHouse/clickhouse-java

Release v0.3.2-patch4

06 Feb 12:58
95b4807
Compare
Choose a tag to compare

This is a patch release for fixing issues in both Java client and JDBC driver:

  • Incorrect value may return when converting large UInt64 value from String to Long - #828
  • Not able to create JDBC connection when database(defined in connection property or url) does not exist - #826
    Note: createDatabaseIfNotExist connection property was added as suggested in #605.
commits...
  • [1b89743]: Bump versions (Zhichun Wu) #829
  • [fd32335]: Fix issue #828 (Zhichun Wu) #829
  • [8b6a969]: Benchmark after release (Zhichun Wu) #829
  • [f8a79f3]: test jdbc driver using both http and grpc protocols (Zhichun Wu) #829
  • [a747d43]: Abstract test cases and consider grpc when testing jdbc driver (Zhichun Wu) #829
  • [ddc824c]: Remove database from context when initializing connection and add new connection property createDatabaseIfNotExist (Zhichun Wu) #829
  • [a17e4f9]: Fix build failures (Zhichun Wu) #829
  • [3268c2e]: Update grpc spec (Zhichun Wu) #829
  • [108d6ac]: Document new JDBC connection property (Zhichun Wu) #829
  • [2f10655]: Disable grpc test on 21.3 and 21.8 (Zhichun Wu) #829
  • [cd2dc12]: Convert string to primitive array (Zhichun Wu) #829

Release v0.3.2-patch3

25 Jan 13:32
1f83b42
Compare
Choose a tag to compare

This is a patch release primarily for fixing below issues in JDBC driver:

  • Incorrect COLUMN_SIZE, DECIMAL_DIGITS, and CHAR_OCTET_LENGTH were returned from ClickHouseDatabaseMetaData.getColumns() - #807
  • Failed to parse insert statement with CTE - #810
  • PreparedStatement.setBytes() and ResultSet.getBytes() do not work

In addition, please be aware of below changes related to ClickHouseDataType:

  • Enum is deprecated and it will be removed in 0.3.3 - it should be an alias of Enum8
  • More aliases like VARBINARY were added
commits...
  • [2631c0d]: Fix null DECIMAL_DIGITS and CHAR_OCTET_LENGTH (Zhichun Wu) #815
  • [2949c8a]: Fix test failure (Zhichun Wu) #815
  • [47bf6b0]: Consider CTE when parsing insert statement (Zhichun Wu) #817
  • [c9ea0a1]: More data type aliases, return scale for number and datetime, and better binary string support (Zhichun Wu) #815
  • [b11e807]: Improve binary data support (Zhichun Wu) #815
  • [241feb3]: Use null binary value instead of empty byte array (Zhichun Wu) #815
  • [671cd32]: Bump version to 0.3.2-patch3 (Zhichun Wu) #815

Release v0.3.2-patch2

16 Jan 12:01
fbe7d71
Compare
Choose a tag to compare

This is a patch release for fixing issue of getting table meta data from ClickHouse server older than 21.6 - see #804 for details.

Java client does not have the issue, so you can continue to use 0.3.2.

commits...
  • [3ec6042]: Fix version check for system.tables.comment column in DatabaseMetaData.getTables (Yuya Ebihara) #804
  • [1299db9]: Add integration test (Zhichun Wu) #804

Release v0.3.2-patch1

08 Jan 23:27
75a6aa6
Compare
Choose a tag to compare

This is a patch release for fixing NullPointException in JDBC driver when getting null date/datetime values from ResultSet - see #797.

Java client does not have the issue, so you can continue to use 0.3.2.

commits...
  • [0dccb76]: Fix NullPointerException (lin.chen) #797
  • [48893a2]: Add test for nullable date and datetime values (Zhichun Wu) #798
  • [be3a8ff]: Bump 3rd party dependencies (Zhichun Wu) #798
  • [8bc91d0]: Bump version and dependencies (Zhichun Wu) #800
  • [b2805fd]: Make grpc client less annonying and increase overall timeout by adding socket timeout (Zhichun Wu) #800
  • [6f4b879]: Add examples (Zhichun Wu) #800

Release v0.3.2

30 Dec 10:14
1795272
Compare
Choose a tag to compare

Despite from the version number and unusually long release cycle, this is a complete re-write. This means it's not a drop-in replacement of previous versions, and it may surprise you in certain cases. However, it's highly recommended to start integrating the new JDBC driver and Java client, not only for more features but also better performance - please refer to #768 for details.

  • KNOWN ISSUES

    • new driver com.clickhouse.jdbc.ClickHouseDriver does not work with version before 20.7
    • java.io.IOException: HTTP/1.1 header parser received no bytes when using JDK 11+ and http_connection_provider is set to HTTP_CLIENT
    • RESOURCE_EXHAUSTED: Compressed gRPC message exceeds maximum size when use gRPC - please increase max_inbound_message_size
    • select 1 format JSON works in http but not grpc, because grpc client is not aware of response format
    • gRPC is "slow" by default because it uses gzip instead of lz4 - see ClickHouse/ClickHouse#28671
    • many connection properties are gone - please use custom_http_params and maybe custom_http_headers instead
    • NPE when query null Date/DateTime - see #797 (will be fixed in 0.3.2-patch1)
  • NEW FEATURES

    • Java client and JDBC driver are now in different modules
    • Replaced data format from TabSeparated to RowBinary
    • Support both HTTP and gRPC - Native/TCP will be available in next release
    • Support more data types including Bool, Date32, Geo types, and mixed use of nested types(e.g. array of tuples)
    • Enhanced pipeline for better performance and less memory footprints - still plenty of room to improve according to ranking here
    • More JDBC APIs(especially those related to metadata) are implemented
    • Better date time and time zone support
  • BUG FIXES

    • stale connection validation to mitigate failed to respond issue
    • parsing NaN and Inf/-Inf
commits...
  • [e6205b4]: Use jdk 11 to build (Zhichun Wu) #735
  • [007d167]: Initial import of the new client (Zhichun Wu) #736
  • [43dff6d]: Fix build break (Zhichun Wu) #736
  • [9686cd4]: Discard known issues when testing against CH older than 21.9 (Zhichun Wu) #736
  • [aea7d4b]: Fix maven build warnings (Zhichun Wu) #737
  • [f66139a]: Remove groupId declaration for consistency (Zhichun Wu) #737
  • [77e67bc]: Skip negative test of DateTime/DateTime32 on 21.3 (Zhichun Wu) #737
  • [85c3bcf]: Only compares year and major version (Zhichun Wu) #737
  • [7f505be]: Skip failed cases in certain releases (Zhichun Wu) #737
  • [d5c72b0]: Limit timezone testing to JDBC driver (Zhichun Wu) #738
  • [32ca307]: Add simple cache mechanism based on Caffeine and LinkedHashMap (Zhichun Wu) #739
  • [19f0c9d]: Support maven-like version range (Zhichun Wu) #739
  • [1eb0753]: Apply version range change and enhance DNS resolver (Zhichun Wu) #739
  • [6015f67]: replace Jackson to Gson (Zhichun Wu) #740
  • [7e3fc8f]: Remove slf4j dependency from JDBC driver (Zhichun Wu) #741
  • [a8ac5b2]: Restore readUnsignedLeb128 method as requested in #710 (Zhichun Wu) #742
  • [4f93201]: support credentials and protocol (Zhichun Wu) #742
  • [cd32678]: Downgrade to JDK8 API (Zhichun Wu) #742
  • [9b23915]: prepare jdbc refactoring (Zhichun Wu) #746
  • [2bf54d8]: Bump 3rd party libs (Zhichun Wu) #746
  • [d09d385]: Primitive array, serializable option, and shaded jars (Zhichun Wu) #747
  • [dae6fdd]: ClickHouseRecord no long throws IOException and add its default implementation (Zhichun Wu) #747
  • [6d18204]: Simplify response and error handling (Zhichun Wu) #747
  • [675d382]: Enhance exception handling and expose stream response (Zhichun Wu) #747
  • [c4b411b]: Drop for no usage and security reason (Zhichun Wu)
  • [7f09be8]: Validate stale connection in HTTPClient pool. (Ryan Tu) #760
  • [9afa1c4]: Add test cases for ValidateAfterInactivityMillis settings (Ryan Tu) #760
  • [afbb426]: New JDBC driver along with improved Java client (Zhichun Wu) #747
  • [8bd979b]: Fix build break (Zhichun Wu) #747
  • [369ce06]: Fix test failure when using test container (Zhichun Wu) #747
  • [331fffb]: Correct class file name (Zhichun Wu) #747
  • [81cf79c]: Remove obsolete file (Zhichun Wu) #747
  • [1b4b1d3]: Move parser to new package (Zhichun Wu) #747
  • [32ba411]: Enable toolchain with multiple JDKs (Zhichun Wu) [#762](#7...
Read more

Release v0.3.2-test3

21 Dec 15:24
48a6281
Compare
Choose a tag to compare
Release v0.3.2-test3 Pre-release
Pre-release

Commits

  • [e6205b4]: Use jdk 11 to build (Zhichun Wu) #735
  • [007d167]: Initial import of the new client (Zhichun Wu) #736
  • [43dff6d]: Fix build break (Zhichun Wu) #736
  • [9686cd4]: Discard known issues when testing against CH older than 21.9 (Zhichun Wu) #736
  • [aea7d4b]: Fix maven build warnings (Zhichun Wu) #737
  • [f66139a]: Remove groupId declaration for consistency (Zhichun Wu) #737
  • [77e67bc]: Skip negative test of DateTime/DateTime32 on 21.3 (Zhichun Wu) #737
  • [85c3bcf]: Only compares year and major version (Zhichun Wu) #737
  • [7f505be]: Skip failed cases in certain releases (Zhichun Wu) #737
  • [d5c72b0]: Limit timezone testing to JDBC driver (Zhichun Wu) #738
  • [32ca307]: Add simple cache mechanism based on Caffeine and LinkedHashMap (Zhichun Wu) #739
  • [19f0c9d]: Support maven-like version range (Zhichun Wu) #739
  • [1eb0753]: Apply version range change and enhance DNS resolver (Zhichun Wu) #739
  • [6015f67]: replace Jackson to Gson (Zhichun Wu) #740
  • [7e3fc8f]: Remove slf4j dependency from JDBC driver (Zhichun Wu) #741
  • [a8ac5b2]: Restore readUnsignedLeb128 method as requested in #710 (Zhichun Wu) #742
  • [4f93201]: support credentials and protocol (Zhichun Wu) #742
  • [cd32678]: Downgrade to JDK8 API (Zhichun Wu) #742
  • [9b23915]: prepare jdbc refactoring (Zhichun Wu) #746
  • [2bf54d8]: Bump 3rd party libs (Zhichun Wu) #746
  • [d09d385]: Primitive array, serializable option, and shaded jars (Zhichun Wu) #747
  • [dae6fdd]: ClickHouseRecord no long throws IOException and add its default implementation (Zhichun Wu) #747
  • [6d18204]: Simplify response and error handling (Zhichun Wu) #747
  • [675d382]: Enhance exception handling and expose stream response (Zhichun Wu) #747
  • [c4b411b]: Drop for no usage and security reason (Zhichun Wu)
  • [7f09be8]: Validate stale connection in HTTPClient pool. (Ryan Tu) #760
  • [9afa1c4]: Add test cases for ValidateAfterInactivityMillis settings (Ryan Tu) #760
  • [afbb426]: New JDBC driver along with improved Java client (Zhichun Wu) #747
  • [8bd979b]: Fix build break (Zhichun Wu) #747
  • [369ce06]: Fix test failure when using test container (Zhichun Wu) #747
  • [331fffb]: Correct class file name (Zhichun Wu) #747
  • [81cf79c]: Remove obsolete file (Zhichun Wu) #747
  • [1b4b1d3]: Move parser to new package (Zhichun Wu) #747
  • [32ba411]: Enable toolchain with multiple JDKs (Zhichun Wu) #762
  • [b731608]: Fix substitution issue (Zhichun Wu) #762
  • [d83f10b]: Add JDK distribution (Zhichun Wu) #762
  • [659728e]: Remove checkstyle step (Zhichun Wu) #763
  • [cdbab02]: Basic benchmark against new JDBC driver (Zhichun Wu) #763
  • [1ee8668]: Introduce ClickHouseInputStream for tiny reads (Zhichun Wu) #763
  • [395bc03]: Update benchmarks to cover more data types (Zhichun Wu) #763
  • [d11fac0]: Fix JDK 8 build failure (Zhichun Wu) #764
  • [66ba8d0]: Simplify build script (Zhichun Wu) #764
  • [ce528f1]: Remove JAXB dependency (Zhichun Wu) #764
  • [433afda]: Close initial connection when needed (Zhichun Wu) #764
  • [05e89d8]: Benchmark both http and grpc implementations (Zhichun Wu) #764
  • [[1b0714a](https://github...
Read more

Release v0.3.2-test2

09 Dec 01:32
4acc1b3
Compare
Choose a tag to compare
Release v0.3.2-test2 Pre-release
Pre-release

Commits

  • [54cd54c]: Treat Nothing as NULL and add more tests (Zhichun Wu) #774

Release v0.3.2-test1

30 Nov 11:52
8a4aee2
Compare
Choose a tag to compare
Release v0.3.2-test1 Pre-release
Pre-release

Commits

  • [e6205b4]: Use jdk 11 to build (Zhichun Wu) #735
  • [007d167]: Initial import of the new client (Zhichun Wu) #736
  • [43dff6d]: Fix build break (Zhichun Wu) #736
  • [9686cd4]: Discard known issues when testing against CH older than 21.9 (Zhichun Wu) #736
  • [aea7d4b]: Fix maven build warnings (Zhichun Wu) #737
  • [f66139a]: Remove groupId declaration for consistency (Zhichun Wu) #737
  • [77e67bc]: Skip negative test of DateTime/DateTime32 on 21.3 (Zhichun Wu) #737
  • [85c3bcf]: Only compares year and major version (Zhichun Wu) #737
  • [7f505be]: Skip failed cases in certain releases (Zhichun Wu) #737
  • [d5c72b0]: Limit timezone testing to JDBC driver (Zhichun Wu) #738
  • [32ca307]: Add simple cache mechanism based on Caffeine and LinkedHashMap (Zhichun Wu) #739
  • [19f0c9d]: Support maven-like version range (Zhichun Wu) #739
  • [1eb0753]: Apply version range change and enhance DNS resolver (Zhichun Wu) #739
  • [6015f67]: replace Jackson to Gson (Zhichun Wu) #740
  • [7e3fc8f]: Remove slf4j dependency from JDBC driver (Zhichun Wu) #741
  • [a8ac5b2]: Restore readUnsignedLeb128 method as requested in #710 (Zhichun Wu) #742
  • [4f93201]: support credentials and protocol (Zhichun Wu) #742
  • [cd32678]: Downgrade to JDK8 API (Zhichun Wu) #742
  • [9b23915]: prepare jdbc refactoring (Zhichun Wu) #746
  • [2bf54d8]: Bump 3rd party libs (Zhichun Wu) #746
  • [d09d385]: Primitive array, serializable option, and shaded jars (Zhichun Wu) #747
  • [dae6fdd]: ClickHouseRecord no long throws IOException and add its default implementation (Zhichun Wu) #747
  • [6d18204]: Simplify response and error handling (Zhichun Wu) #747
  • [675d382]: Enhance exception handling and expose stream response (Zhichun Wu) #747
  • [c4b411b]: Drop for no usage and security reason (Zhichun Wu)
  • [afbb426]: New JDBC driver along with improved Java client (Zhichun Wu) #747
  • [8bd979b]: Fix build break (Zhichun Wu) #747
  • [369ce06]: Fix test failure when using test container (Zhichun Wu) #747
  • [331fffb]: Correct class file name (Zhichun Wu) #747
  • [81cf79c]: Remove obsolete file (Zhichun Wu) #747
  • [1b4b1d3]: Move parser to new package (Zhichun Wu) #747
  • [32ba411]: Enable toolchain with multiple JDKs (Zhichun Wu) #762
  • [b731608]: Fix substitution issue (Zhichun Wu) #762
  • [d83f10b]: Add JDK distribution (Zhichun Wu) #762
  • [659728e]: Remove checkstyle step (Zhichun Wu) #763
  • [cdbab02]: Basic benchmark against new JDBC driver (Zhichun Wu) #763
  • [1ee8668]: Introduce ClickHouseInputStream for tiny reads (Zhichun Wu) #763
  • [395bc03]: Update benchmarks to cover more data types (Zhichun Wu) #763
  • [d11fac0]: Fix JDK 8 build failure (Zhichun Wu) #764
  • [66ba8d0]: Simplify build script (Zhichun Wu) #764
  • [ce528f1]: Remove JAXB dependency (Zhichun Wu) #764
  • [433afda]: Close initial connection when needed (Zhichun Wu) #764
  • [05e89d8]: Benchmark both http and grpc implementations (Zhichun Wu) #764
  • [1b0714a]: Fix JDK8 compatibility issue (Zhichun Wu) #766
  • [e0a3a65]: Support client-specific property (Zhichun Wu) #766
  • [[ddd5a19](https://github.com/ClickHouse/clickhouse-jdbc/comm...
Read more

Release v0.3.1-patch

07 Jun 03:38
537d7ec
Compare
Choose a tag to compare

This is a patch release for fixing below critical issues introduced in previous release.

  • incorrect database was used in DDL - see issue #648
  • batch insert without any parameter didn't work - see PR #655
  • negative decimal128/256 was not handled correctly - see issue #665

Release v0.3.1

27 Apr 15:06
9b72c8a
Compare
Choose a tag to compare

This is a feature release with breaking changes and known issues(expected to be fixed in 0.3.2). It's NOT recommended to upgrade if you feel comfortable with 0.2.x. If your work relies on non-JDBC APIs, you may want to wait until we're done with the refactoring in 0.4.0.

  • KNOWN ISSUES
    • Incorrect DateTime is sent to ClickHouse when server/column timezone is not UTC - #623
      Note: a workaround is to use unix timestamp for mutation.
    • Lost millisecond precision when inserting DateTime64 - #608
  • BREAKING CHANGES
    • move query from url to request body
    • always parse SQL(use extended API to skip that)
    • remove keepAliveTimeout and useNewParser from ClickHouseProperties
    • exclude RoaringBitmap from shaded jar
  • NEW FEATURES
    • add new connection setting useSharedCookieStore to achieve "read your writes" consistency
    • add new query parameters: allow_experimental_bigint_types, allow_experimental_map_type, and join_algorithm
    • add new format: CustomSeparated and RowBinaryWithNamesAndTypes
    • support batch processing with arbitrary query - update and delete are not recommended so there are warnings
    • support multi-statement sql - session will be used automatically and only the last result will be returned
  • BUG FIXES
    • fix 400 bad request error when dealing with large query
    • fix parser issue when DESC statement contains alias