- Dropped python 3.8 support * If you still depend on python 3.8 use the 5.x version line
- Removed pyexasol dbapi2 api shim (Now it is using the dbapi2 shim provided by the pyexasol project)
- Remove testing against Exasol 7.0
- Relocked dependencies
- Made pyodbc an optional dependency
- Made websockets the default way to use sqlalchemy with exasol
- Added deprecation warnings for pyodbc and trubodbc dialects
- Relocked dependencies
- Changed pyodbc upper bound constraint (Allow larger upper bounds)
- Relocked dependencies
- Bumped versions of GitHub actions
- Adjusted workflow triggers, to enable workflow runs for external branches
- Loosened the SQLAlchemy dependency constraint to >=1.4,<2
Websocket based dialect have been stabilized and is officially supported now
📘 Note: Inserting multiple empty row's, facilitating default settings currently isn't supported.
- Fixed prepared statements send the wrong types as parameters to the server
- Fixed Various SQLA compliance tests are failing for the websocket based dialect
- Fixed missing websocket driver package in release deliverables
Added Beta version of websocket based dialect
🚨 Attention:
This feature is currently in Beta, therefore it should not be used in production. We also recommend to have a look into the known issues, before you start using it.
If you encounter any problem, please create an issue. With your feedback, we will be able stabilize this feature more quickly.
🚨 Attention:
The turbodbc dependency was pinned to 4.5.4 due to issues with newer versions.
Failing tests in the SQLA compliance test suite, in regard to the turbodbc dialect won't be addressed until explicitly required/requested by users.
Note: It is also very likely that turbodbc support will be dropped in future versions.
- Fixed invalid implicit autocommit behaviour, for details see Issue-https://github.com//issues/335
- Added websocket based dbapi2 compliant database driver
- Updated pytest
- Updated Dependencies
- Loosened version constraints on 'packaging' dependency
- Loosened dev dependency constraints
Changed changelog workflow
- Removed scriv
- Added unreleased section to track unreleased changes
Simplified workflows by factoring out python & poetry setup into an action
Added a internal category to the changelog fragment template
Added manual trigger for the gh-pages workflow
Removed workaround for outdated DB versions (for further details see #5)
Added exasol-integration-test-docker-environment as dev dependency
Added support for SQLA 1.4
Warning
This upgrade is not backwards compatible with SQLA < 1.4
Warning
This version may impact the performance (see also SQLAlchemy docs). If you are not willing or able to pay those potential performance hits, you should wait until the tracking-issue #190 is resolved.
Removed custom merge statement
(If we will be notified, that someone depends on this feature, we are open to add it again.)
- Evaluated CVE-2022-42969
CVE will be silenced
The affected code is not used by our project itself, nor by the dependencies pulling in the vulnerable library.
Checked dependencies:
- Nox (Code search)
- Pytest (Code search + tracking-issue #10392)
- Updated all dependencies
- Fixed link to project documentation
- Added turbodbc support
- Re-enabled with new minimum base version 4.5.4
- Added additional information to README
- License information (badge)
- Code formatter(s) in use (black, isort)
- Linting score of the project
- Changed changelog format * Changelog now can be found in the file CHANGELOG.rst
- Reworked and restructured project documentation
- Removed markdown based changelog
- Added new exasol odbc driver 7.1.11
- Added additional badges for to improve project status overview
- Updated databases for testing to 7.1.9 and 7.0.18
- Updated pyodbc dependency from 4.0.32 to 4.0.34
- Fixed CI/CD build and publish target
- Fixed CI/CD to run tests against all configured databases
- The support of the turbodbc feature has been suspended, until the following issues have been addressed
- blue-yonder/turbodbc#358
- #146
- Note: If you depend on turbodbc we suggest you to use the latest version supporting it (2.4.0)
- Dropped python 3.7 support * If you still depend on python 3.7 use the 2.x version line
- Dropped conda forge support
- Removed odbc specific functionality from base dialect and moved it to the pyodbc dialect
- Removed remaining python2 compatibility artifacts and switches
- Dropped support for python versions < 3.7
- Fixed bug when accessing underlying odbc connection while using NullPool based engine Note: This addresses the superset issue-20105
- Removed outdated documentation and resources
- Dropped python 2.7 support
- Update supported versions of EXASOL DB to 7.1.6 and 7.0.16
- Update supported python versions to 3.6, 3.7, 3.8, 3.9
- Bumped SQLAlchemy dependency to 1.3.24
- Bumped pyodbc dependency to 4.0.32
- Updated documentation to reflect the latest version changes etc.
- Updated maintainer and contact information
- Fixed bug regarding maximum identifier length
- Fixed bug with custom translate maps
- Fixed bug regarding non existent error code mappings for EXASOL specific odbc error codes
- Updated dependencies
- Fixed performance problems for large tables/databases. For more details see PR
- Updated documentation (README.rst and INTEGRATION_TEST.md)
- Updated dependencies
- Replaced metadata queries with ODBC metadata to avoid deadlocks
- Updated SQLAlchemy dependency to 1.3.16
- Updated six dependency to 1.14.0
- Updated pyodbc dependency to 4.0.30
- Add support for computed columns to merge (contribution by @vamega)
- Updated SQLAlchemy dependency to 1.3.10
- Added new EXASOL keywords (contribution from @vamega)
- Added MERGE statement to auto commit heuristic (contribution from @vamega)
- Updated SQLAlchemy dependency to 1.3.8
- Removed deprecated setting of 'convert_unicode' on engine
- Added support for empty set expressions required by new SQLA tests
- Updated PyODBC dependency to 4.0.27
- Updated SQLAlchemy dependency to 1.3.6
- Fixed bug in reflection of CHAR colums (missing length). Contribution from @vamega
- Fixed bug in rendering of SQL statements with common table expressions (CTE). Contribution from @vamega
- Updated SQLAlchemy dependency to 1.2.18
- Fixed bug in server version string parsing (turbodbc)
- Updated pyodbc dependency to 4.0.24
- Fix string parameters in delete when using Python 3
- Update SQLAlchemy dependency to 1.2.10
- Pass the autocommit parameter when specified also to turodbc.
- Dropped EXASOL 5 support
- Added support for the turbodbc parameters varchar_max_character_limit, prefer_unicode, large_decimals_as_64_bit_types, and limit_varchar_results_to_max.
- Update SQLAlchemy dependency to 1.2.8
- BREAKING CHANGE: default driver name removed from dialect. The driver must now be explicitly specified. Either in the DSN or in the connection string using the optional 'driver' parameter (e.g. appending &driver=EXAODBC to connection URL)
- Updated SQLAlchemy dependency to 1.2.0
- Updated pyodbc dependency to 4.0.21
- Dropped support for Python3 version < Python 3.6
- Updated SQLAlchemy dependency to 1.1.14
- Added raw_sql to util.py for debugging
- Updated SQLAlchemy dependency to 1.1.13
- Added EXASOL 6 driver (6.0.2)
- Updated SQLAlchemy dependency to 1.1.12
- Fixed issue #53 - TRUNCATE statements now autocommited (if autocommit = True)
- Removed support for EXASOL 4 driver
- Added support for EXASOL 6
- Updated pyodbc dependency to 4.0.17
- Adjusted list of reserved keywords in respect to EXASOL 6
- Fixed bug introduced by typo in base.py:454
- Added missing kw arg in limit_clause (contribution from sroecker)
- Updated SQLAlchemy dependency to 1.1.11
- Changed EXAExecutionContext.executemany to default 'False'
- Fixed bug with incorrect handling of case insensitive names (lower case in SQLA, upper case in EXASOL)
- Fixed bug in lookup of default schema name to include schema provided in connection url
- Fixed failing upload of build results to pypi
- Fixed ODBC Driver name that is to be used
- Use unicode on osx for turbodbc fixes #63
- Added Support for Python 3.6
- Turbodbc support uses buffer size based on memory budget instead of a fixed number of rows.
- Turbodbc support requires turbodbc>=0.4.1
- Upgrade sqlalchemy test dependency to 1.1.1
- Dropped EXASOL 4 support
- Add support for the turbodbc driver
- Reconnect after socket closed
- Added supports_native_decimal Flag
- Improved DSN handling
- Fixed Unicode Problems for OSX/Darwin
- Added OFFSET Support for Exasol 5.X
- Added Tests for Python 3.5
- Dropped support for sqlalchemy versions < 1.0.x
- Update sqlalchemy dependency to 1.0.x
- Changed execute behaviour for deletes as fixed in 0.9.2 for updates (#36)
- Changed execute behaviour for updates fixes #36
- Added support for DISTRIBUTE BY table constraints
- Added support for EXASolution 5.x
- Added documentation on how to setup the integration test against the EXASOL hosted test db
- Mark connection in pool as closed to prevent reuse
- Use bulk reflection per schema and improved caching for inspection
- Fixed conversion to uppercase in connection parameters
- Added Python 3.4 test
- Set default schema to 'SYS' to create reasonable reflections
- Downgrade six dependency selector to >=1.5
- Fixed versioneer build parameter in setup.py to enable pip install
- Added README
- Added p3k support - contribution by iadrich
- Updated repository url
- Added support for SQL MERGE
- Updated SQLA dependency selector to 0.9.x (build requires >= 0.9.6)
- Fixed incorrect quoting of identifiers with leading _
- Fixed incorrect implementation for retrieving last generated PK (for auto inc columns)
- Switched to versioneer
- changed README from md to rst to display reasonable content on pypi
- Added first version of the SQLAlchemy EXASOL dialect (released under BSD license)