Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Add caching support for Exasol Dialects in respect to SQLA 1.4 #190

Open
1 of 4 tasks
Nicoretti opened this issue Aug 10, 2022 · 0 comments
Open
1 of 4 tasks
Labels
feature Product feature

Comments

@Nicoretti
Copy link
Member

Summary

Implement caching support for exasol dialects in order to achieve optimal performance with SQLAlachemy >= 1.4.

Additional information

Tasks

  • Implement caching support for pyodbc based dialect
  • Implement caching support for turbodbc based dialect
  • Add note to release notes that potential performance penalty have been addressed/fixed

Related Issues

@Nicoretti Nicoretti added the feature Product feature label Aug 10, 2022
Nicoretti added a commit that referenced this issue Oct 5, 2022
* Update sqlalchemy dependency to base version to 1.4.0
* Update ssl/tls test to comply with new sqla 1.4 api
* Remove backwards compatibility with SQLA < 1.4 for ssl/tls test
* Disable statement cache for pyodbc and turbodbc dialects
   For more details see also:
     * #190
     * https://docs.sqlalchemy.org/en/14/core/connections.html#engine-thirdparty-caching
     * https://docs.sqlalchemy.org/en/14/faq/performance.html#why-is-my-application-slow-after-upgrading-to-1-4-and-or-2-x
* Upgrade tests to use new introspection api
* Update URL creation to new api
* Fix pre_exec edge case
* Refactor custom merge statement for better readability 
* Fix translate map regression test
* Update dev dependencies
* Disable unsupported features regarding binary types
* Restructure intigration test setup, to mitigate side effects
* Update mypy config
* Bump poetry versions in github workflows
@Nicoretti Nicoretti assigned Nicoretti and unassigned Nicoretti Oct 13, 2022
Nicoretti added a commit that referenced this issue Nov 30, 2022
* Update sqlalchemy dependency to base version to 1.4.0
* Update ssl/tls test to comply with new sqla 1.4 api
* Remove backwards compatibility with SQLA < 1.4 for ssl/tls test
* Disable statement cache for pyodbc and turbodbc dialects
   For more details see also:
     * #190
     * https://docs.sqlalchemy.org/en/14/core/connections.html#engine-thirdparty-caching
     * https://docs.sqlalchemy.org/en/14/faq/performance.html#why-is-my-application-slow-after-upgrading-to-1-4-and-or-2-x
* Upgrade tests to use new introspection api
* Update URL creation to new api
* Fix pre_exec edge case
* Refactor custom merge statement for better readability 
* Fix translate map regression test
* Update dev dependencies
* Disable unsupported features regarding binary types
* Restructure intigration test setup, to mitigate side effects
* Update mypy config
* Bump poetry versions in github workflows
Nicoretti added a commit that referenced this issue Nov 30, 2022
fixes #106 

Details
--------------------------------------------

Removals:
* Remove custom merge statement
* Remove backwards compatibility with SQLA < 1.4

Changes:
* Change integration test setup (to mitigate side effects)
* Change integration test setup
    - Make sure test schemas are created before integration tests get executed

Updates:
* Update all dependencies
* Update tooling configuration
* Update sqlalchemy dependency to base version to >= 1.4.0
    - Update function call's to comply with latest sqla API
    - Update ssl/tls tests to comply with new SQLA 1.4 API
    - Upgrade tests to use new introspection API
    - Update URL creation to new API
* Disable statement cache for pyodbc and turbodbc dialects
   - For more details see also:
     + #190
     + https://docs.sqlalchemy.org/en/14/core/connections.html#engine-thirdparty-caching
     + https://docs.sqlalchemy.org/en/14/faq/performance.html#why-is-my-application-slow-after-upgrading-to-1-4-and-or-2-x
* Disable incompatible unit tests
    - Disable unsupported binary type features
    - Disable tests requiring an explicit index which isn't supported by exasol
    - Disable unimplemented sql_expression_limit_offset tests
* Disable test failing to driver issue
    - see also: #232
* Disable failing turbodbc tests
    - turbodbc maintenance was put on hold for now

Fixes:
* Fix pre_exec edge case
* Fix translate map regression test
* Fix arguments of report command
* Fix issue that metadata queries create a second connection

Co-authored-by: Torsten Kilias <tkilias@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Product feature
Projects
None yet
Development

No branches or pull requests

1 participant