- [HTTP] Optional custom
requests.Session. Pull request #119 by carlosefr. - DateTime64 type. Pull request #116 by aamalev.
- [HTTP] Keep HTTP connection open between queries. Pull request #117 by carlosefr.
- [HTTP] Don't lose information on unicode conversion. Pull request #120 by carlosefr.
- [HTTP] Fix server version parsing (non-numeric build). Pull request #118 by carlosefr.
- [HTTP] Handle nullable columns. Pull request #121 by carlosefr.
- Reflection for schema and views handling. Pull request #125 by hodgesrm.
- Expressions reflection in *MergeTree engines. Solves issue #123.
- Columns compilation fix. Replace default dialect. Solves issue #124.
- [HTTP] Proper handling
verifyflag when parsing DSN. Pull request #126 by yhvicey.
0.1.5 - 2020-12-14
MATERIALIZEDandALIAScolumn options.LIMIT BYclause support. Pull request #97 by ods.- Basic engines reflection.
TTLparam for *MergeTree engines. Pull request #111 by aamalev.
- Session parametrization in tests.
- Exclude table name from
DEFAULTcolumn option. - Allow multiple columns in
PARTITION BY. - Replace
uuid1withuuid4for automatic query_id generation. Solves issue #99.
- Remove table names during
JOINwithUSINGclause. - [Native] Case insensitive
VALUESclause check for (%s)-templates. - Render
sqlalchemy.BooleanasUInt8instead ofBOOLEAN. Solves issue #93. - Allow multiple columns in SummingMergeTree.
- Proper
JOINclause rendering. Solves issue #108.
- Drop Python 3.4 support due to urllib3 drop.
0.1.4 - 2020-04-30
if_existsandon_clusterAttributeError on table drop. Pull request #94 by vmarkovtsev.
0.1.3 - 2020-04-04
- Engines: ReplicatedReplacingMergeTree, VersionedCollapsingMergeTree, ReplicatedVersionedCollapsingMergeTree. Solves issue #70.
- File engine. Pull request #72 by armymaksim.
- [HTTP] SSL certificates verification. Pull request #75 by NiyazNz.
- Decimal type reflection. Pull request #74 by armymaksim.
ALTER DELETE. Pull request #81 by sdrenn. Solves issue #65.ALTER UPDATE. Pull request #82 by sdrenn. Solves issue #65.- [HTTP] Session tests, assorted fixes. Pull request #73 by hhell.
FINALclause. Pull request #79 by sdrenn.CODECcolumn option. Pull request #89 by athre0z.- Add literal binds support to IP types. Improve IP types
INandNOT INcomparators. Pull request #91 by AchilleAsh.
- Minimal SQLAlchemy version supported is 1.3 now.
- Named arguments should go after positional in ReplacingMergeTree, SummingMergeTree. Pull request #80 by sdrenn.
samplekeyword argument changed tosample_byin *MergeTree.version_col,keyword argument changed toversionin ReplacingMergeTree.
- [Native] Remove (%s)-templates from
VALUESclause. - [HTTP]
fetchoneelements order. Solves issue #77. - Fix ReplacingMergeTree creation with no version.
- License file now included in the package. Solves issue #86.
- Columns are now prefixed with table name if necessary. Solves issue #35 and issue #87.
- Generate pure DLL without literals on Replicated tables creation.
0.1.2 - 2019-11-06
- Generic
Tablereflection in case ofautoload=True. - [HTTP] Fix
get_schema_names.
0.1.1 - 2019-10-31
- Set default strictness to
INNERfor join. - MergeTree
PARTITION BYclause now accepts functions.
0.1.0 - 2019-10-31
- Enum without explicit size. Pull request #69 by ei-grad.
- [Native] Passing all parameters to
clickhouse-driverby using querystring in DSN. - [Native] Bypass
types_checktoclickhouse-driverviaexecution_options. - [Native] Store rowcount on
INSERT. Returning rows count fromINSERT FROM SELECTis not supported. - Python 3.8 in Travis CI build matrix.
- Assorted fixes and improvements from a downstream internal fork. Pull request #62 by hhell.
- LowCardinality type modifier. Pull request #59 by hhell.
- [Native] IPv4 and IPv6 types. Pull request #52 by AchilleAsh.
- Nested types. Pull request #49 by aCLr.
- Support for
FULLparameter inJOINrendering. Pull request #50 by PiwikPRO. ARRAY JOINclause. Pull request #44 by aCLr.
- [Native] Allow empty auth in DSN.
- [Native] Allow default secure port.
- Engine columns bool comparison errors.
- [HTTP]
UnicodeDecodeError. Pull request #51 by aminought.
- Ability to use custom partition key and primary keys differs from sorting keys for *MergeTree. Pull request #48 by aCLr.
- Cursor performance increased in
fetchmanyandfetchall. - Add dependencies environment markers in setup.py. Pull request #58 by nitoqq.
- Joins support refactor. Added
strictness(ANY/ALL),distribution(GLOBAL) parameters. Pull request #53 by aCLr.
0.0.10 - 2019-02-05
- Self-signed certificate support. Pull request #46 by rrockru.
- UUID type. Pull request #41 by BolshakovNO.
- Enum type reflection. Pull request #33 by sochi.
- Decimal type. Pull request #38 by nikitka.
- Minimal SQLAlchemy version supported is 1.2 now.
- Handling additional column
comment_expressioninDESCRIBE TABLEresults during reflection (in ClickHouse server >= 18.15).
0.0.9 - 2019-01-21
ON CLUSTERclause inCREATE TABLE,DROP TABLE.
- Raw connection execute. Pull request #40 by AchilleAsh. Solves issue #39.
0.0.8 - 2018-11-25
- Streaming support via
yield_per. - Python 3.7 in Travis CI build matrix.
- Handling boolean values of
securequery parameter of database url. Cursor.__iter__now conforms with PEP 479. Pull request #29 by khvn26. Solves issue #27.- Multiprocessing/asyncio pickling issues. Pull request #36 by jhirniak. Solves issue #13.
0.0.7 - 2018-07-31
0.0.6 - 2018-07-20
- Schema names as databases support. Pull request #16 by AchilleAsh.
- DateTime type.
- Reflection Array, FixedString and Nullable types.
- Pip install in editable mode.
- Python 3.3 support.
0.0.5 - 2017-11-06
JOINclause support viatuple_().- Version detection in setup.py.
- Using native driver parameters substitution via pyformat.
- Binary mod operation compilation issue #8.
0.0.4 - 2017-10-03
SAMPLEclause.- Code coverage.
- Additional engines: AggregatingMergeTree, GraphiteMergeTree, ReplacingMergeTree, ReplicatedMergeTree, ReplicatedCollapsingMergeTree, ReplicatedAggregatingMergeTree, ReplicatedSummingMergeTree. Distributed, Log, TinyLog, Null.
- Changelog.
- Lambda functions generation.
0.0.3 - 2017-07-16
extract('year', x)alias totoYear(x)/toMonth(x)/toDayOfMonth(x). Pull request #2 by gribanov-d.- External tables in native interface support.
- Nullable type support in
CREATE TABLE. WITH TOTALSclause support forGROUP BY.- Passing settings via
execution_options.
- Native driver elements reverse order issue fixed.
- Fixed
count(expr)rendering. Pull request #3 by gribanov-d. - Fixed empty string parse error over HTTP. Pull request #5 by gribanov-d.
- Nested Array type generation fixed.
- Structure refactored.
0.0.2 - 2017-06-23
- Travis CI.
- flake8 syntax check.
- Native (TCP) interface support.
- Python 3.3+ support.
ELSEclause is required inCASE.
- HTTP/HTTPS protocol support.
- Python 2.7 support.
- Engine declaration support in
__table_args__ DROP TABLE IF EXISTSclause.- Automatic registering as dialect
clickhouse://. - Chunked
INSERT INTOin one request. - Engines: MergeTree, CollapsingMergeTree, SummingMergeTree, Buffer, Memory.