Sqlalchemy-cratedb

Latest version: v0.40.1

Safety actively analyzes 682457 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 10

0.30.1

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

0.30.0

- Added deprecation warning about dropping support for SQLAlchemy 1.3 soon, it
is effectively EOL.

- Added support for SQLAlchemy 2.0. See also [What's New in SQLAlchemy 2.0]
and [SQLAlchemy 2.0 migration guide].

- Updated to geojson 3.0.0.

[SQLAlchemy 2.0 migration guide]: https://docs.sqlalchemy.org/en/20/changelog/migration_20.html
[What's New in SQLAlchemy 2.0]: https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html

0.29.0

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

0.28.0

- 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 ORM computed columns

0.27.2

- Improved `CrateDialect.get_pk_constraint` to be compatible
with breaking changes in CrateDB >=5.1.0.

0.27.0

- Added support for Python 3.9 and 3.10.

- Dropped support for Python 3.4, 3.5 and 3.6.

- Dropped support for SQLAlchemy 1.1 and 1.2.

- Dropped support for CrateDB < 2.0.0.

- Added support for enabling SSL using SQLAlchemy DB URI with parameter
`?ssl=true`.

- Added support for SQLAlchemy 1.4

Notes

For learning about the transition to SQLAlchemy 1.4, we recommend the
corresponding documentation [What’s New in SQLAlchemy 1.4?].

Breaking changes

Textual column expressions
SQLAlchemy 1.4 became stricter on some details. It requires to wrap [CrateDB
system columns] like `_score` in a [SQLAlchemy literal_column] type.
Before, it was possible to use a query like this:

session.query(Character.name, '_score')

It must now be written like:

session.query(Character.name, sa.literal_column('_score'))

Otherwise, SQLAlchemy will complain like:

sqlalchemy.exc.ArgumentError: Textual column expression '_score' should be
explicitly declared with text('_score'), or use column('_score') for more
specificity


[CrateDB system columns]: https://cratedb.com/docs/crate/reference/en/4.8/general/ddl/system-columns.html
[SQLAlchemy literal_column]: https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.literal_column
[What’s New in SQLAlchemy 1.4?]: https://docs.sqlalchemy.org/en/14/changelog/migration_14.html

Page 3 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.