Thanks very much! On Wed, May 10, 2017 at 2:24 PM, mike bayer <mike...@zzzcomputing.com> wrote:
> this is all patched in 1.2, your original test works too. > > The fix here is a little too intricate for 1.1 right now as this is a very > long-standing bug (goes back to 0.7 at least and probably further) and > 1.1 is getting near maintenance mode. > > > > On 05/10/2017 01:48 PM, mike bayer wrote: > >> nevermind, the issue is at >> >> https://bitbucket.org/zzzeek/sqlalchemy/issues/3984/deferred >> -column_property-gets-set-to >> >> the fix is not as obvious as that, that particular check is assuming a >> column_property() where its value was never present in __dict__ in the >> first place, so it needs to be marked "expired". >> >> >> On 05/10/2017 01:38 PM, Kent wrote: >> >>> The regular columns seem to expire and reload properly without issue. >>> (Is that what you're asking?) >>> >>> You want me to submit a PR changing: >>> >>> if p.expire_on_flush or p.key*not*in state.dict >>> >>> to >>> >>> if p.expire_on_flush*and*p.key in state.dict* >>> * >>> >>> ? >>> >>> (If so, which branch?) >>> >>> >>> On Wednesday, May 10, 2017 at 12:55:45 PM UTC-4, Mike Bayer wrote: >>> >>> so you can confirm this is only for custom SQL + column_property(), >>> not >>> a regular column right? definitely a bug for 1.2 if you can post it >>> up >>> >>> >>> On 05/10/2017 12:37 PM, Kent wrote: >>> > I'm thinking that should be >>> > *"if p.expire_on_flush and p.key in state.dict"* >>> > >>> > >>> > On Wednesday, May 10, 2017 at 11:35:30 AM UTC-4, Kent wrote: >>> > >>> > deferred column_properties may be less-efficient subquery >>> selects >>> > (and thus marked deferred). When a flush occurs that updates >>> an >>> > object, any read-only column_properties are marked as >>> expired, even >>> > if they weren't even loaded. This means if the object needs >>> to be >>> > refreshed, all these deferred column properties are loaded. >>> > >>> > We probably want the behavior to only expire read-only >>> attributes >>> > that were actually loaded, right? >>> > >>> > See attached script. This behavior is as of 1.1.1 >>> > >>> > Thoughts? >>> > >>> > >>> > -- >>> > 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 >>> <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+...@googlegroups.com <javascript:> >>> > <mailto:sqlalchemy+unsubscr...@googlegroups.com <javascript:>>. >>> > To post to this group, send email to sqlal...@googlegroups.com >>> <javascript:> >>> > <mailto:sqlal...@googlegroups.com <javascript:>>. >>> > Visit this group at https://groups.google.com/group/sqlalchemy >>> <https://groups.google.com/group/sqlalchemy>. >>> > For more options, visit https://groups.google.com/d/optout >>> <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 <mailto: >>> sqlalchemy+unsubscr...@googlegroups.com>. >>> To post to this group, send email to sqlalchemy@googlegroups.com >>> <mailto:sqlalchemy@googlegroups.com>. >>> Visit this group at https://groups.google.com/group/sqlalchemy. >>> 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 a topic in the > Google Groups "sqlalchemy" group. > To unsubscribe from this topic, visit https://groups.google.com/d/to > pic/sqlalchemy/g0QVQ6RbxNU/unsubscribe. > To unsubscribe from this group and all its topics, 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. > 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. For more options, visit https://groups.google.com/d/optout.