Skip to content

Latest commit

 

History

History
385 lines (321 loc) · 27.1 KB

CHANGELOG.md

File metadata and controls

385 lines (321 loc) · 27.1 KB

Changelog

0.3.2 - 2024-06-12

Added

Fixed

  • Broken nested Map types. Pull request #315 by aksenof. Solves issue #314.

0.3.1 - 2024-03-14

Added

Fixed

  • select(...).join(...) query generation. Pull request #284 by Net-Mist.
  • [Native] Streaming results without explicitly setting max_row_buffer. Pull request #287 by akurdyukov. Solves issue #286.
  • Username and password quoting for SQLAlchemy>=2.0.25. Pull request #285 by Net-Mist.
  • match function case. Pull request #283 by bader-tayeb.
  • [alembic] Missing column on reflection. Pull request #277 by littlebtc. Solves issue #280.
  • [alembic] Use replace_existing=True for alembic_version.version_num column. Pull request #275 by leemurus. Solves issue #288.
  • [alembic] Table reflection for alembic version < 1.11. Solves issue #274.

0.3.0 - 2023-11-06

Changed

0.2.5 - 2023-10-29

Added

  • Table primary key reflection. Pull request #265 by akurdyukov. Solves issue #264.
  • Python 3.11, 3.12 in Travis CI build matrix.

Fixed

  • Missing Array attributes. Pull request #255 by jonburdo. Solves issue #254.
  • DateTime and DateTime64 reflection. Solves issue #148.
  • Enum8 and Enum16 Unicode conversion. Pull request #263 by akurdyukov. Solves issue #192.
  • [HTTP] Map type escaping. Pull request #266 by subkanthi. Solves issue #148.
  • Guess number of _reflect_table alembic argsPull request #249 by 9bany. Solves issue #250.

Removed

  • greenlet dependency. Pull request #257 by mrcljx.

0.2.4 - 2023-05-02

Added

  • [Native] DateTime('timezone'). Solves issue #230.
  • Async driver support via asynch. Pull request #214 by randomowo.
  • ILIKE clause compilation. Pull request #229 by howbownotnow.
  • MATCH clause via Column.regexp_match. Pull request #221 by TeddyCr.

Fixed

  • Trigger after_drop and before_drop events while dropping table. Pull request #246 by vanchaxy. Solves issue #245.
  • SAMPLE with ARRAY JOIN. Pull request #241 by dpaluch-piw. Solves issue #45.
  • Alembic comparators respect non-ClickHouse engines for multi-db. Pull request #236 by Skorpyon.
  • INNER/OUTER joins strictness on multiple joins.
  • [Native] Handle quoted passwords. Solves issue #185.

0.2.3 - 2022-11-24

Added

Fixed

  • FULL JOIN sql generation. Pull request #144 by poofeg. Solves issue #193.
  • Allow CASE without ELSE clause.
  • Arrays compilation in has* functions. Solves issue #205.
  • Do not render foreign key constraints. Solves issue #208.
  • Inconsistency in ischema_names type converters. Pull request #216 by AntonFriberg. Solves issue #215.
  • LowCardinality and Nullable alembic autogeneration. Solves issue #217.

0.2.2 - 2022-08-24

Added

  • Table and column comments creation and reflection. Solves issue #149.

Fixed

  • [HTTP] Use query params to specify clickhouse data format. Pull request #180 by save-my-heart.

Changed

  • Switch from nose test runner to pytest.

0.2.1 - 2022-06-13

Fixed

  • Add supports_statement_cache = True. Solves issue #169.
  • Add cache_ok = True for IP types.
  • Mixed text() and pure strings in engine parameters handling. Solves issue #173.
  • Engine creation in alembic migrations.
  • CREATE and DROP Materialized views. Solves issue #177.

With changes from 0.1.9 and 0.1.10.

0.2.0 - 2022-02-20

Added

  • LEFT ARRAY JOIN clause. Pull request #167 by Fozar.

Changed

  • Supported SQLAlchemy version is 1.4.

0.1.10 - 2022-06-06

Added

Fixed

  • AFTER clause rendering in ADD COLUMN.
  • Broken Materialized views creation via .create().
  • Engine creation in migrations for alembic 1.6+. Engine is subclass of Constraint now.

0.1.9 - 2022-05-08

Fixed

  • ReplicatedReplacingMergeTree reflection. Solves issue #164.
  • Inline inserts with literal binds for alembic support.

0.1.8 - 2022-02-03

Added

  • Tuple and Map types. Pull request #163 by joelynch.
  • Materialized views alembic migrations autogeneration.

Fixed

  • Handle unsupported engines in table reflection.
  • EXISTS and DESCRIBE table quoting.
  • Default Unicode error handler to replace. Pull request #166 by cwurm.
  • [Native] Inserts with literal_column values. Solves issue #133.
  • Alembic nullable reflection.

Changed

  • Migrate from Travis CI to GitHub Actions.

0.1.7 - 2021-11-18

Added

  • Support for distinctness comparisons (is_distinct_from / isnot_distinct_from). Pull request #144 by wlhjason. Solves issue #143.
  • [HTTP] Cert auth. Pull request #128 by evgG.
  • [HTTP] Session factories. Pull request #131 by carlosefr.
  • [HTTP] Raw engine execute. Pull request #134 by FishermanZzhang.
  • [HTTP] DateTime('timezone') support. Pull request #141 by lance-plusai.
  • Optional disabling engine reflection. Solves issue #140.
  • AFTER clause in ALTER TABLE ... ADD COLUMN. Pull request #153 by eivasch.
  • Column default reflection from DESCRIBE TABLE default_expression. Pull request #153 by eivasch.

Fixed

  • SAMPLE BY reflection. Solves issue #127.
  • [HTTP] verify behavior in requests. Pull request #128 by evgG.

0.1.6 - 2021-03-15

Added

  • [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.

Fixed

  • [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

Added

  • MATERIALIZED and ALIAS column options.
  • LIMIT BY clause support. Pull request #97 by ods.
  • Basic engines reflection.
  • TTL param for *MergeTree engines. Pull request #111 by aamalev.

Changed

  • Session parametrization in tests.
  • Exclude table name from DEFAULT column option.
  • Allow multiple columns in PARTITION BY.
  • Replace uuid1 with uuid4 for automatic query_id generation. Solves issue #99.

Fixed

  • Remove table names during JOIN withUSING clause.
  • [Native] Case insensitiveVALUES clause check for (%s)-templates.
  • Render sqlalchemy.Boolean as UInt8 instead of BOOLEAN. Solves issue #93.
  • Allow multiple columns in SummingMergeTree.
  • Proper JOIN clause rendering. Solves issue #108.

Removed

  • Drop Python 3.4 support due to urllib3 drop.

0.1.4 - 2020-04-30

Fixed

  • if_exists and on_cluster AttributeError on table drop. Pull request #94 by vmarkovtsev.

0.1.3 - 2020-04-04

Added

  • 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 and NOT IN comparators. Pull request #91 by AchilleAsh.

Changed

  • 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 to sample_by in *MergeTree.
  • version_col, keyword argument changed to version in ReplacingMergeTree.

Fixed

  • [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

Fixed

  • Generic Table reflection in case of autoload=True.
  • [HTTP] Fix get_schema_names.

0.1.1 - 2019-10-31

Fixed

  • Set default strictness to INNER for join.
  • MergeTree PARTITION BY clause now accepts functions.

0.1.0 - 2019-10-31

Added

  • 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 to clickhouse-driver via execution_options.
  • [Native] Store rowcount on INSERT. Returning rows count from INSERT 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 in JOIN rendering. Pull request #50 by PiwikPRO.
  • ARRAY JOIN clause. Pull request #44 by aCLr.

Fixed

  • [Native] Allow empty auth in DSN.
  • [Native] Allow default secure port.
  • Engine columns bool comparison errors.
  • [HTTP] UnicodeDecodeError. Pull request #51 by aminought.

Changed

  • Ability to use custom partition key and primary keys differs from sorting keys for *MergeTree. Pull request #48 by aCLr.
  • Cursor performance increased infetchmany and fetchall.
  • 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

Added

Changed

  • Minimal SQLAlchemy version supported is 1.2 now.

Fixed

  • Handling additional columncomment_expression in DESCRIBE TABLE results during reflection (in ClickHouse server >= 18.15).

0.0.9 - 2019-01-21

Added

  • ON CLUSTER clause in CREATE TABLE, DROP TABLE.

Fixed

0.0.8 - 2018-11-25

Added

  • Streaming support via yield_per.
  • Python 3.7 in Travis CI build matrix.

Fixed

  • 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

Fixed

  • Handling NULL values in arrays as strings. Pull request #23 by Joozty.

0.0.6 - 2018-07-20

Added

  • Schema names as databases support. Pull request #16 by AchilleAsh.
  • DateTime type.
  • Reflection Array, FixedString and Nullable types.

Fixed

  • Pip install in editable mode.

Removed

  • Python 3.3 support.

0.0.5 - 2017-11-06

Added

  • JOIN clause support via tuple_().
  • Version detection in setup.py.

Changed

  • Using native driver parameters substitution via pyformat.

Fixed

  • Binary mod operation compilation issue #8.

0.0.4 - 2017-10-03

Added

  • 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

Added

  • extract('year', x) alias to toYear(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 for GROUP BY.
  • Passing settings via execution_options.

Changed

  • 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

Added

  • Travis CI.
  • flake8 syntax check.
  • Native (TCP) interface support.
  • Python 3.3+ support.

Changed

  • ELSE clause is required in CASE.

0.0.1 - 2017-03-30

Added

  • 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.