AI prompts
base on ClickHouse Java Clients & JDBC Driver <div align="center">
<p>
<a href="https://github.com/ClickHouse/clickhouse-java/releases/latest"><img src="https://img.shields.io/github/v/release/ClickHouse/clickhouse-java?include_prereleases&label=Latest%20Release&color=green"/></a>
<a href="https://s01.oss.sonatype.org/content/repositories/snapshots/com/clickhouse/"><img src="https://img.shields.io/nexus/s/com.clickhouse/clickhouse-java?label=Nightly%20Build&server=https%3A%2F%2Fs01.oss.sonatype.org&color=green"/></a>
<a href="https://github.com/ClickHouse/clickhouse-java/releases/"><img src="https://img.shields.io/github/downloads/ClickHouse/clickhouse-java/latest/total"/></a>
</p>
<p><img src="https://github.com/ClickHouse/clickhouse-js/blob/a332672bfb70d54dfd27ae1f8f5169a6ffeea780/.static/logo.svg" width="200px" align="center"></p>
<h1>ClickHouse Java Client & JDBC Driver</h1>
</div>
Table of Contents
* [About The project](#about-the-project)
* [Important](#important)
* [Installation](#installation)
* [Client V2](#client-v2)
* [Artifacts](#artifacts)
* [Examples](#examples)
* [Client V1](#client-v1)
* [Artifacts](#artifacts-1)
* [Examples](#examples-1)
* [Contributing](#contributing)
## About the Project
This is a repo of the Java Client and JDBC Driver for ClickHouse Database (https://github.com/ClickHouse/Clickhouse) supported by the ClickHouse team. The Java Client is the core component that provides an API to interact with the database via HTTP Protocol.
The JDBC driver component implements the JDBC specification and communicates with ClickHouse using the Java Client API.
Historically, there are two versions of both components. The previous version of the Java client required a significant rewrite, so we decided to create a new one, `client-v2`, not to disturb anyone's work and to give time for migration. The JDBC driver also required changes to be compatible with the new client and comply more with JDBC specs, and we created `jdbc-v2`. This component will replace an old version (to keep the artifact name).
## Client Features
| Name | Client V2 | Client V1 | Comments
|----------------------------------------------|:---------:|:---------:|:---------:|
| Http Connection |✔ |✔ | |
| Http Compression (LZ4) |✔ |✔ | |
| Server Response Compression - LZ4 |✔ |✔ | |
| Client Request Compression - LZ4 |✔ |✔ | |
| HTTPS |✔ |✔ | |
| Client SSL Cert (mTLS) |✔ |✔ | |
| Http Proxy with Authentication |✔ |✔ | |
| Java Object SerDe |✔ |✗ | |
| Connection Pool |✔ |✔ | Apache HTTP Client only |
| Named Parameters |✔ |✔ | |
| Retry on failure |✔ |✔ | |
| Failover |✗ |✔ | |
| Load-balancing |✗ |✔ | |
| Server auto-discovery |✗ |✔ | |
| Log Comment |✔ |✔ | |
| Session Roles |✔ |✔ | |
| SSL Client Authentication |✔ |✔ | |
| Session timezone |✔ |✔ | |
## Important
### Upcoming deprecations:
| Component | Version | Comment |
|--------------------------------|---------|--------------------------------------------------|
| ClickHouse Java v1 | TBC | We'll be deprecating Java v1 in 2025 |
## Installation
Releases: Maven Central (web site https://mvnrepository.com/artifact/com.clickhouse)
Nightly Builds: https://s01.oss.sonatype.org/content/repositories/snapshots/com/clickhouse/
## Client V2
### Artifacts
| Component | Maven Central Link | Javadoc Link | Documentation Link |
|---------------------------|--------------------|--------------|---------------------|
| ClickHouse Java Client V2 | [](https://mvnrepository.com/artifact/com.clickhouse/client-v2) | [](https://javadoc.io/doc/com.clickhouse/client-v2) | [docs](https://clickhouse.com/docs/integrations/java) |
### Examples
[Begin-with Usage Examples](../../tree/main/examples/client-v2)
[Spring Demo Service](https://github.com/ClickHouse/clickhouse-java/tree/main/examples/demo-service)
## JDBC Driver
### Artifacts
| Component | Maven Central Link | Javadoc Link | Documentation Link |
|-----------|--------------------|--------------|--------------------|
| ClickHouse JDBC Driver | [](https://mvnrepository.com/artifact/com.clickhouse/clickhouse-jdbc) |[](https://javadoc.io/doc/com.clickhouse/clickhouse-jdbc)|[docs](https://clickhouse.com/docs/integrations/language-clients/java/jdbc)|
### Examples
See [JDBC examples](../../tree/main/examples/jdbc)
## R2DBC Driver
### Artifacts
| Component | Maven Central Link | Javadoc Link | Documentation Link |
|-----------|--------------------|--------------|--------------------|
| ClickHouse R2DBC Driver | [](https://mvnrepository.com/artifact/com.clickhouse/clickhouse-r2dbc) | [](https://javadoc.io/doc/com.clickhouse/clickhouse-r2dbc) | [docs](https://clickhouse.com/docs/integrations/java/r2dbc)|
### Misc Artifacts
| Component | Maven Central Link | Javadoc Link |
|-----------|--------------------|--------------|
| ClickHouse Java Unified Client | [](https://mvnrepository.com/artifact/com.clickhouse/clickhouse-client) | [](https://javadoc.io/doc/com.clickhouse/clickhouse-client) |
| ClickHouse Java HTTP Client | [](https://mvnrepository.com/artifact/com.clickhouse/clickhouse-http-client) | [](https://javadoc.io/doc/com.clickhouse/clickhouse-http-client) |
## Compatibility
- All projects in this repo are tested with all [active LTS versions](https://github.com/ClickHouse/ClickHouse/pulls?q=is%3Aopen+is%3Apr+label%3Arelease) of ClickHouse.
- [Support policy](https://github.com/ClickHouse/ClickHouse/blob/master/SECURITY.md#security-change-log-and-support)
- We recommend to upgrade client continuously to not miss security fixes and new improvements
- If you have an issue with migration - create and issue and we will respond!
## Contributing
Please see our [contributing guide](./CONTRIBUTING.md).
", Assign "at most 3 tags" to the expected json: {"id":"13497","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"