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
very intricate expiration sequence can lead to a detached object buried in a bound parameter #4359
Comments
Michael Bayer (@zzzeek) wrote: OK here's a much more succinct case
I think the deferred nature of the comparison needs to be liberalized such that it memoizes the immediate comparison state and uses that if the object is expired. |
Michael Bayer (@zzzeek) wrote: this is going to be great. the whole tradition of these loader callables being deferred is almost never needed and the purpose of it is to suit using unflushed objects. so we will just get the value immediately, as is almost always what people want, and only if that is None do we try again. it's a big change but will make things work a lot more simply.
|
Changes by Michael Bayer (@zzzeek):
|
Changes by Michael Bayer (@zzzeek):
|
Michael Bayer (@zzzeek) wrote: |
Michael Bayer (@zzzeek) wrote: Modernize deferred callable for many-to-one comparison Improved the behavior of a relationship-bound many-to-one object expression To support the value being mutated while also being resilient towards Fixes: #4359 → d5c2db4 |
Changes by Michael Bayer (@zzzeek):
|
Migrated issue, originally created by Michael Bayer (@zzzeek)
I've not managed to reduce this further yet, simple attempts are still failing to identify the full issue
for some reason if I just do a simple A/B test and have "B" expired first, the issue does not reproduce. so not sure what's going on yet.
The text was updated successfully, but these errors were encountered: