On Tue, May 28, 2019, at 6:46 AM, Sebastian Meinhardt wrote: > The profiler results are in but they do not tell me anything that I did not > already find by manually stepping through the code. See my first post, above. > The method that takes all the time is `execute` of `cx_Oracle.Cursor` itself. > I cannot step into that because that is some C-call. > > I did however spend some time on discerning the differences between executing > a plain text statement vs. a query object. The main difference appeared to be > the `pre_exec` method in the cx_Oracle dialect that only gets called for > query objects but not for plain text. And Heureka! It is the call to > `self.set_input_sizes` (line 629 in cx_oracle.py in SQLAlchemy 1.2.19). While > the call itself is inconspicuous, it causes the huge delay when calling > `execute` on the cursor later down the line. If I delete this call, my code > works fine for both, the plain text and the query object. > > However, comparing this to SQLAlchemy 1.3.0 (the first version to not have > the problem) does not really point me to a solution of the puzzle: Version > 1.3.0 has the same call to `self.set_input_sizes` and it gets called with the > same parameters. Thus, I am back to square 1: I know that setting the input > sizes somehow screws up the cursor execution but this is not the root cause.I > notice that fixes to `setinputsizes` show up several times in the links that > you provided. Thus, I assume that I stumbled on one of those problems, though > I cannot tell exactly which one of those.
the change is here: https://github.com/sqlalchemy/sqlalchemy/commit/fb991a4474fa0d4df69af10a808fe234016c6a52#diff-82a2e602087ff99e54987aa63c1c20dbL875 just get your app onto 1.3 and you're good. > > Still, upgrading to 1.3.x solves my problem. Thanks for all the help! > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/28389615-4154-45cc-aa3f-03339485ef8a%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/28389615-4154-45cc-aa3f-03339485ef8a%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/e5ae2334-ef74-4816-838d-360deb4b219e%40www.fastmail.com. For more options, visit https://groups.google.com/d/optout.