ClickHouse / clickhouse-connect

Python driver/sqlalchemy/superset connectors
Apache License 2.0
330 stars 64 forks source link

0.8.0 Release #400

Closed genzgd closed 1 month ago

genzgd commented 1 month ago

Summary

Adds support for new Variant, Dynamic, and JSON columns. Closes #302 and #398. Fixes interpretation of string port values. Closes #395 Adds a buffer for HTTP streaming queries. Partial fix #399 Adds tls_mode parameter to allow connecting to ClickHouse server in openssl strict mode with username and password. Adds mechanism to bind datetime parameters to ClickHouse DateTime64 values. Closes #396 Fixes LIMIT 0 insert queries. Closes #389 Uses server_tz when doing client size binding with a list. Closes #377

Checklist

Delete items not relevant to your PR:

pkit commented 1 month ago

Please write in changelog when you move things around. For example moving quote_identifier was really unexpected.

genzgd commented 1 month ago

Just to be clear, if doesn't have a doc string it's not considered part of the public API, so there are no guarantees that it won't be moved or otherwise refactored. That said, I think it makes sense to have some of the utility functions documented and "fixed".

genzgd commented 1 month ago

Sorry, I should have said "documentation", since that's what's in the back of my mind when refactoring code, and doc strings are not a perfect proxy for that. If you have suggestions for utility functions that are worth documenting, I'll include them in the documentation update currently in progress.

pkit commented 1 month ago

So far that's what we used.

from clickhouse_connect import create_client  # type: ignore
from clickhouse_connect.driver.client import Client  # type: ignore
from clickhouse_connect.driver.exceptions import DatabaseError  # type: ignore
from clickhouse_connect.driver.query import quote_identifier as I  # type: ignore

And that's a pretty big project with ~100k loc.