Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions docs/about-us/beta-and-experimental-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,8 @@ Please note: no additional experimental features are allowed to be enabled in Cl
| [allow_experimental_join_right_table_sorting](/operations/settings/settings#allow_experimental_join_right_table_sorting) | `0` |
| [allow_statistics_optimize](/operations/settings/settings#allow_statistics_optimize) | `0` |
| [allow_experimental_statistics](/operations/settings/settings#allow_experimental_statistics) | `0` |
| [use_statistics_cache](/operations/settings/settings#use_statistics_cache) | `0` |
| [allow_experimental_full_text_index](/operations/settings/settings#allow_experimental_full_text_index) | `0` |
| [allow_experimental_live_view](/operations/settings/settings#allow_experimental_live_view) | `0` |
| [live_view_heartbeat_interval](/operations/settings/settings#live_view_heartbeat_interval) | `15` |
| [max_live_view_insert_blocks_before_refresh](/operations/settings/settings#max_live_view_insert_blocks_before_refresh) | `64` |
| [allow_experimental_window_view](/operations/settings/settings#allow_experimental_window_view) | `0` |
| [window_view_clean_interval](/operations/settings/settings#window_view_clean_interval) | `60` |
| [window_view_heartbeat_interval](/operations/settings/settings#window_view_heartbeat_interval) | `15` |
Expand Down Expand Up @@ -159,6 +157,7 @@ Please note: no additional experimental features are allowed to be enabled in Cl
| [allow_experimental_ytsaurus_dictionary_source](/operations/settings/settings#allow_experimental_ytsaurus_dictionary_source) | `0` |
| [distributed_plan_force_shuffle_aggregation](/operations/settings/settings#distributed_plan_force_shuffle_aggregation) | `0` |
| [enable_join_runtime_filters](/operations/settings/settings#enable_join_runtime_filters) | `0` |
| [join_runtime_filter_exact_values_limit](/operations/settings/settings#join_runtime_filter_exact_values_limit) | `10000` |
| [join_runtime_bloom_filter_bytes](/operations/settings/settings#join_runtime_bloom_filter_bytes) | `524288` |
| [join_runtime_bloom_filter_hash_functions](/operations/settings/settings#join_runtime_bloom_filter_hash_functions) | `3` |
| [rewrite_in_to_join](/operations/settings/settings#rewrite_in_to_join) | `0` |
Expand Down
190 changes: 170 additions & 20 deletions docs/integrations/language-clients/java/client/_snippets/_v0_8.mdx

Large diffs are not rendered by default.

11 changes: 7 additions & 4 deletions docs/integrations/language-clients/java/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: 'Java'
sidebar_position: 1
keywords: ['clickhouse', 'java', 'jdbc', 'client', 'integrate', 'r2dbc']
description: 'Options for connecting to ClickHouse from Java'
slug: /integrations/java
Expand All @@ -20,7 +21,7 @@ import CodeBlock from '@theme/CodeBlock';

Java client is a library implementing own API that abstracts details of network communications with ClickHouse server. Currently HTTP Interface is supported only. The library provide utilities to work with different ClickHouse formats and other related functions.

Java Client was developed far back in 2015. Its codebase became very hard to maintain, API is confusing, it is hard to optimize it further. So we have refactored it in 2024 into a new component `client-v2`. It has clear API, lighter codebase and more performance improvements, better ClickHouse formats support (RowBinary & Native mainly). JDBC will use this client in near feature.
Java Client was developed far back in 2015. Its codebase became very hard to maintain, API is confusing, it is hard to optimize it further. So we have refactored it in 2024 into a new component `client-v2`. It has clear API, lighter codebase and more performance improvements, better ClickHouse formats support (RowBinary & Native mainly). JDBC will use this client in near feature.

### Supported data types {#supported-data-types}

Expand Down Expand Up @@ -83,7 +84,7 @@ Java Client was developed far back in 2015. Its codebase became very hard to mai
- AggregatedFunction - :warning: does not support `SELECT * FROM table ...`
- Decimal - `SET output_format_decimal_trailing_zeros=1` in 21.9+ for consistency
- Enum - can be treated as both string and integer
- UInt64 - mapped to `long` in client-v1
- UInt64 - mapped to `long` in client-v1
:::

### Features {#features}
Expand All @@ -94,7 +95,8 @@ Table of features of the clients:
|----------------------------------------------|:---------:|:---------:|:---------:|
| Http Connection |✔ |✔ | |
| Http Compression (LZ4) |✔ |✔ | |
| Server Response Compression - LZ4 |✔ |✔ | |
| Application Controlled Compression |✔ |✗ | |
| Server Response Compression - LZ4 |✔ |✔ | |
| Client Request Compression - LZ4 |✔ |✔ | |
| HTTPS |✔ |✔ | |
| Client SSL Cert (mTLS) |✔ |✔ | |
Expand All @@ -109,6 +111,7 @@ Table of features of the clients:
| Log Comment |✔ |✔ | |
| Session Roles |✔ |✔ | |
| SSL Client Authentication |✔ |✔ | |
| SNI Configuration |✔ |✗ | |
| Session timezone |✔ |✔ | |

JDBC Drive inherits same features as underlying client implementation. Other JDBC features are listed on its [page](/integrations/language-clients/java/jdbc).
Expand All @@ -122,7 +125,7 @@ JDBC Drive inherits same features as underlying client implementation. Other JDB

### Logging {#logging}

Our Java language client uses [SLF4J](https://www.slf4j.org/) for logging. You can use any SLF4J-compatible logging framework, such as `Logback` or `Log4j`.
Our Java language client uses [SLF4J](https://www.slf4j.org/) for logging. You can use any SLF4J-compatible logging framework, such as `Logback` or `Log4j`.
For example, if you are using Maven you could add the following dependency to your `pom.xml` file:

```xml title="pom.xml"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import TOCInline from '@theme/TOCInline';


<TOCInline toc={toc} />

:::note
`clickhouse-jdbc` implements the standard JDBC interface using the latest java client.
Expand Down Expand Up @@ -35,8 +39,8 @@ In 0.8 we tried to make the driver more strictly follow the JDBC specification,
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.9.1</version>
<classifier>shaded-all</classifier>
<version>0.9.4</version>
<classifier>all</classifier>
</dependency>
```

Expand All @@ -45,14 +49,14 @@ In 0.8 we tried to make the driver more strictly follow the JDBC specification,

```kotlin
// https://mvnrepository.com/artifact/com.clickhouse/clickhouse-jdbc
implementation("com.clickhouse:clickhouse-jdbc:0.9.1:shaded-all")
implementation("com.clickhouse:clickhouse-jdbc:0.9.4:all")
```
</TabItem>
<TabItem value="gradle" label="Gradle">

```groovy
// https://mvnrepository.com/artifact/com.clickhouse/clickhouse-jdbc
implementation 'com.clickhouse:clickhouse-jdbc:0.9.1:shaded-all'
implementation 'com.clickhouse:clickhouse-jdbc:0.9.4:all'
```

</TabItem>
Expand All @@ -67,9 +71,9 @@ In 0.8 we tried to make the driver more strictly follow the JDBC specification,
- `jdbc:clickhouse:http://localhost:8123`
- `jdbc:clickhouse:https://localhost:8443?ssl=true`

**Connection Properties**:
### Connection Properties

Beyond standard JDBC properties, the driver supports the ClickHouse-specific properties offered by the underlying [java client](/integrations/language-clients/java/client/client.mdx).
Beyond standard JDBC properties, the driver supports the ClickHouse-specific properties offered by the underlying [java client](/integrations/language-clients/java/client#client-configuration).
Where possible methods will return an `SQLFeatureNotSupportedException` if the feature is not supported. Other custom properties include:

| Property | Default | Description |
Expand All @@ -81,6 +85,11 @@ Where possible methods will return an `SQLFeatureNotSupportedException` if the f
| `jdbc_resultset_auto_close` | `true` | Automatically closes `ResultSet` when `Statement` is closed |
| `beta.row_binary_for_simple_insert` | `false` | Use `PreparedStatement` implementation based on `RowBinary` writer. Works only for `INSERT INTO ... VALUES` queries. |

:::note Server Settings

All server settings should be prefixed with `clickhouse_setting_` (same as for the client [configuration](/integrations/language-clients/java/client#server-settings)).
:::

## Supported data types {#supported-data-types}

JDBC Driver supports the same data formats as the underlying [java client](/integrations/language-clients/java/client/client.mdx).
Expand Down
4 changes: 0 additions & 4 deletions docs/whats-new/changelog/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2145,7 +2145,3 @@ doc_type: 'changelog'

#### Build/Testing/Packaging Improvement
* The universal installation script will propose installation even on macOS. [#74339](https://github.com/ClickHouse/ClickHouse/pull/74339) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
:::note
There have been no new releases yet for 2025.
View changelog for the year [2024](/docs/whats-new/changelog/2024).
:::
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -109,5 +109,6 @@
},
"resolutions": {
"form-data": "^4.0.4"
}
},
"packageManager": "[email protected]+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ const sidebars = {
}
]
},
{
{
type: "category",
label: "Data lake",
collapsed: true,
Expand Down
Loading