If never present in __dict__, why does it need to be marked as expired
after an insert or update?  If not in __dict__ and referenced, isn't won't
it load as whether or not it is marked as expired?


On Wed, May 10, 2017 at 1:48 PM, mike bayer <mike...@zzzcomputing.com>
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.

Reply via email to