On 04/25/2016 05:49 AM, Piotr Dobrogost wrote:
On Friday, April 22, 2016 at 5:22:38 PM UTC+2, Mike Bayer wrote:
On 04/22/2016 10:40 AM, Piotr Dobrogost wrote:
> It seems BufferedColumnResultProxy class (used only in Oracle
dialect)
> has a bug.
I cannot confirm it, would need a test case. Here's one that is
extremely simple but exercises the features you describe. I have no
doubt that what you're seeing is a bug however so I'd need to know what
to add to this test to illustrate the issue:
Thanks for quick response and creation of sample code. We have trouble
adding something that would trigger bug as we don't fully understand
source code of SA and in addition we use other framework (Kotti) which
adds its layer of complexity. Having said that we think that what's
needed to reproduce bug is to modify your test case so that line 519 in
result.py would get hit
(https://github.com/zzzeek/sqlalchemy/blob/rel_1_0_12/lib/sqlalchemy/engine/result.py#L519).
OK I can try to work with that but that's a very specific feature, you'd
need to be using the Query cache extension, or using the
"compiled_cache" option, *or* the error is being generated within the
context of a Session being flushed within an INSERT or UPDATE RETURNING
statement, which itself I don't think uses the traditional result set
model in Oracle anyway. Are any of these true for your case ? Looks
like you haven't provided a stack trace for your issue, I'm sure you
have that, so send that along.
There is no need for you or your developers to attempt to debug deep
issues like these; I can identify them within minutes given a
demonstration of the behavior and I am glad to do this work once an
incorrect behavior is demonstrated.
Thank you very much for offering your help.
The work that you need to do when you encounter stack traces like this
is to isolate the behavior into a simple test case, such as the one I
have above. Using the "divide and conquer" approach, where you begin
with your whole application, then slowly remove pieces of it that
continue to exhibit the bad behavior until you have something entirely
minimal. The guidelines that I often refer to at
http://stackoverflow.com/help/mcve
<http://stackoverflow.com/help/mcve> have an excellent description
of this.
Sure thing. The problem in practice is that in order to create "simple
test case" it's often needed to get good understanding of used libraries
at the source code level. The good example is your sample test case
which we don't know how to modify in spite of the fact that we suspect
which specific line needs to be hit.
Regards,
Piotr Dobrogost
--
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 [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
--
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.