- [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
verify
flag when parsing DSN. Pull request #126 by yhvicey.
0.1.5 - 2020-12-14
MATERIALIZED
andALIAS
column options.LIMIT BY
clause support. Pull request #97 by ods.- Basic engines reflection.
TTL
param for *MergeTree engines. Pull request #111 by aamalev.
- Session parametrization in tests.
- Exclude table name from
DEFAULT
column option. - Allow multiple columns in
PARTITION BY
. - Replace
uuid1
withuuid4
for automatic query_id generation. Solves issue #99.
- Remove table names during
JOIN
withUSING
clause. - [Native] Case insensitive
VALUES
clause check for (%s)-templates. - Render
sqlalchemy.Boolean
asUInt8
instead ofBOOLEAN
. Solves issue #93. - Allow multiple columns in SummingMergeTree.
- Proper
JOIN
clause rendering. Solves issue #108.
- Drop Python 3.4 support due to urllib3 drop.
0.1.4 - 2020-04-30
if_exists
andon_cluster
AttributeError 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.
FINAL
clause. Pull request #79 by sdrenn.CODEC
column option. Pull request #89 by athre0z.- Add literal binds support to IP types. Improve IP types
IN
andNOT IN
comparators. 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.
sample
keyword argument changed tosample_by
in *MergeTree.version_col,
keyword argument changed toversion
in ReplacingMergeTree.
- [Native] Remove (%s)-templates from
VALUES
clause. - [HTTP]
fetchone
elements 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
Table
reflection in case ofautoload=True
. - [HTTP] Fix
get_schema_names
.
0.1.1 - 2019-10-31
- Set default strictness to
INNER
for join. - MergeTree
PARTITION BY
clause 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-driver
by using querystring in DSN. - [Native] Bypass
types_check
toclickhouse-driver
viaexecution_options
. - [Native] Store rowcount on
INSERT
. Returning rows count fromINSERT FROM SELECT
is 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
FULL
parameter inJOIN
rendering. Pull request #50 by PiwikPRO. ARRAY JOIN
clause. 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
fetchmany
andfetchall
. - 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_expression
inDESCRIBE TABLE
results during reflection (in ClickHouse server >= 18.15).
0.0.9 - 2019-01-21
ON CLUSTER
clause 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
secure
query 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
JOIN
clause 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
SAMPLE
clause.- 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 TOTALS
clause 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.
ELSE
clause is required inCASE
.
- HTTP/HTTPS protocol support.
- Python 2.7 support.
- Engine declaration support in
__table_args__
DROP TABLE IF EXISTS
clause.- Automatic registering as dialect
clickhouse://
. - Chunked
INSERT INTO
in one request. - Engines: MergeTree, CollapsingMergeTree, SummingMergeTree, Buffer, Memory.