Closed
Description
Migrated issue, originally created by Michael Bayer (@zzzeek)
apparently we cannot generalize the setinputsizes() decision for cx_Oracle datatypes.
after many issues reported (by me):
as of issue 189 above it's clear that there are just some cases where we can't even make an accurate decision, not to mention as cx_Oracle, the Oracle version in use, and settings like charset and numeric settings change, whether or not and how to use setinputsizes with cx_oracle is something that needs constant adjustment.
To suit cases especially like performance-altering behaviors that are touched upon in issues like #4242 as well as oracle/python-cx_Oracle#189, we need to open this up with a new event that intercepts the dialect-level setinputsizes call.
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
No branches or pull requests
Activity
sqlalchemy-bot commentedon Jun 28, 2018
Michael Bayer (@zzzeek) wrote:
Add do_setinputsizes event for cx_Oracle
Added a new event currently used only by the cx_Oracle dialect,
:meth:
.DialectEvents.setiputsizes
. The event passes a dictionary of:class:
.BindParameter
objects to DBAPI-specific type objects that will bepassed, after conversion to parameter names, to the cx_Oracle
cursor.setinputsizes()
method. This allows both visibility into thesetinputsizes process as well as the ability to alter the behavior of what
datatypes are passed to this method.
Change-Id: I43b97c8e3c840cad6f01edb274dc9cfed19cb5fc
Fixes: #4290
→ c270efd
sqlalchemy-bot commentedon Jun 28, 2018
Changes by Michael Bayer (@zzzeek):
sqlalchemy-bot commentedon Jun 28, 2018
Michael Bayer (@zzzeek) wrote:
Add do_setinputsizes event for cx_Oracle
Added a new event currently used only by the cx_Oracle dialect,
:meth:
.DialectEvents.setiputsizes
. The event passes a dictionary of:class:
.BindParameter
objects to DBAPI-specific type objects that will bepassed, after conversion to parameter names, to the cx_Oracle
cursor.setinputsizes()
method. This allows both visibility into thesetinputsizes process as well as the ability to alter the behavior of what
datatypes are passed to this method.
Change-Id: I43b97c8e3c840cad6f01edb274dc9cfed19cb5fc
Fixes: #4290
(cherry picked from commit c270efd)
→ 9cc8bff