Skip to content

Releases: crate/crate-python

0.33.0

17 Jul 17:16

Choose a tag to compare

What's Changed

  • SQLAlchemy: Rename leftover occurrences of Object to ObjectType
  • SQLAlchemy DQL: Use CrateDB's native ILIKE operator. Thanks, @hlcianfagna.

Full Changelog: 0.32.0...0.33.0

0.32.0

06 Jul 22:16

Choose a tag to compare

What's Changed

  • SQLAlchemy DDL: Allow turning off column store using crate_columnstore=False.
    Thanks, @fetzerms.

  • SQLAlchemy DDL: Allow setting server_default on columns to enable
    server-generated defaults. Thanks, @JanLikar.

  • Allow handling datetime values tagged with time zone info when inserting or updating.

  • SQLAlchemy: Fix SQL statement caching for CrateDB's OBJECT type. Thanks, @faymarie.

  • SQLAlchemy: Refactor OBJECT type to use SQLAlchemy's JSON type infrastructure.

  • SQLAlchemy: Added insert_bulk fast-path INSERT method for pandas, in
    order to support efficient batch inserts using CrateDB's "bulk operations" endpoint.

  • SQLAlchemy: Add documentation and software tests for usage with Dask

New Contributors

Full Changelog: 0.31.1...0.32.0

0.31.1

18 Apr 13:46

Choose a tag to compare

What's Changed

  • SQLAlchemy Core: Re-enable support for INSERT/UPDATE...RETURNING in
    SQLAlchemy 2.0 by adding the new insert_returning and update_returning flags
    in the CrateDB dialect.

Thanks, @Taliik.

Full Changelog: 0.31.0...0.31.1

0.31.0

30 Mar 12:06

Choose a tag to compare

What's Changed

  • SQLAlchemy Core: Support INSERT...VALUES with multiple value sets by enabling
    supports_multivalues_insert on the CrateDB dialect, it is used by pandas'
    method="multi" option

  • SQLAlchemy Core: Enable the insertmanyvalues feature, which lets you control
    the batch size of INSERT operations using the insertmanyvalues_page_size
    engine-, connection-, and statement-options.

  • SQLAlchemy ORM: Remove support for the legacy session.bulk_save_objects API
    on SQLAlchemy 2.0, in favor of the new insertmanyvalues feature. Performance
    optimizations from bulk_save() have been made inherently part of add_all().
    Note: The legacy mode will still work on SQLAlchemy 1.x, while SQLAlchemy 2.x users
    MUST switch to the new method now.

Full Changelog: 0.30.1...0.31.0

0.30.1

02 Mar 18:05

Choose a tag to compare

What's Changed

  • Fixed SQLAlchemy 2.0 incompatibility with CrateDialect.{has_schema,has_table}

Full Changelog: 0.30.0...0.30.1

0.30.0

16 Feb 15:38

Choose a tag to compare

What's Changed

Full Changelog: 0.29.0...0.30.0

0.29.0

08 Dec 16:33

Choose a tag to compare

What's Changed

  • SQLAlchemy: Added support for crate_index and nullable attributes in ORM column definitions.

  • Added support for converting TIMESTAMP columns to timezone-aware datetime objects, using the new time_zone keyword argument.

Full Changelog: 0.28.0...0.29.0

0.28.0

08 Dec 11:00

Choose a tag to compare

What's Changed

  • Added a generic data type converter to the Cursor object, for converting
    fetched data from CrateDB data types to Python data types.

  • Fixed generating appropriate syntax for OFFSET/LIMIT clauses. It was possible
    that SQL statement clauses like LIMIT -1 could have been generated. Both
    PostgreSQL and CrateDB only accept LIMIT ALL instead.

  • Added support for computed columns in the SQLAlchemy ORM.

Full Changelog: 0.27.2...0.28.0

0.27.2

10 Oct 18:07

Choose a tag to compare

What's Changed

  • Improved SQLAlchemy's CrateDialect.get_pk_constraint to be compatible with breaking changes in CrateDB >=5.1.0.

Full Changelog: 0.27.1...0.27.2

0.27.1

10 Oct 18:06

Choose a tag to compare

What's Changed

  • Fixed regression introduced by 0.27.0 resulting in unavailable servers if
    all configured servers aren't reachable once.

Full Changelog: 0.27.0...0.27.1