Comments (3)
I don't think this will work correctly with turbodbc
.
When I remove the self.isdelete
from the pre_exec
method in base.py
, I get a MemoryError: bad allocation
. I'll try to do some more digging and see if I can make a reproducible test case.
The current spot where I see this has a very large number of parameters.
from sqlalchemy-exasol.
Actually, I think this cannot be removed yet.
Reducing the number of parameters caused me to bump into this error:
Feature not supported: Prepared DELETE with parameterized condition other than <column name> = ? or unsupported type
My condition was to delete using an IN
clause.
Using the current logic for statement construction, it appears that there is excessive allocation happening in the pre_exec
, since it performs repeated string replacement.
I will provide a PR that changes this to use a template based single replacement, since that should dramatically increase performance when there are a large number of parameters.
from sqlalchemy-exasol.
@vamega reading the EXASOL ticket https://www.exasol.com/support/browse/EXASOL-875
Currently, a DELETE statement may only have one prepared parameter.
We will allow multiple parameters, but only if they are no expressions and combined via AND, e.g. "col1=? AND col2=?".
only a special case for parameterized DELETE was implemented.
from sqlalchemy-exasol.
Related Issues (20)
- ✨ Add typing support to sqlalchemy_exasol package HOT 1
- ✨ Add caching support for Exasol Dialects in respect to SQLA 1.4
- ✨ Add support for HASHTYPE, GEOMETRY and INTERVAL type
- ✨ Add list of un/supported SQLAlchemy features to documentation
- 🔧 Rework Integration Test Setup
- 🔧 Update Integration Test Docker Environment to 1.5.0
- 🐞 Difficult qmarks roundtrip tests fails
- 📦 Update SqlAlchemy package to version >=1.4 < 2.0.0
- Loosen version requirements on "packaging" HOT 1
- 🐞 After calling get_lastrowid through an insert, we see commit in the database. HOT 5
- 🐞 Prepared statements send the wrong types as parameters to the server HOT 1
- 🐞 Various SQLA compliance tests are failing for the websocket based dialect
- 🔧 Make pyodbc an optional dependency (feature) through setuptools extras HOT 3
- problem with Exasol driver's WebSocket connection cleanup process HOT 9
- 🔧 Add in code deprecation warnings for `[pyodbc, turbodbc]`
- 🔧 Remove `turbodbc` support
- 🔧 Remove `pyodbc` support
- 🔧 Remove tests/testing against Exasol 7.0.x
- ✨ Add support for testing of Exasol 8.x
- Support SQLAlchemy 2 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sqlalchemy-exasol.