Thanks Michael for the detailed explanations and the patch. This is
really helping!

2008/4/26, Michael Bayer <[EMAIL PROTECTED]>:
>
> On Apr 25, 2008, at 4:21 PM, Eric Lemoine wrote:
>
> >>>
> > Module sqlalchemy.orm.mapper:1198 in _postfetch
> >>> elif not c.primary_key and c.key in params and
> >>> self._get_state_attr_by_column(state, c) != params[c.key]:
> > Module shapely.geometry.base:255 in __ne__
> >>> return not self.equals(other)
> > Module shapely.predicates:30 in __call__
> >>> raise RuntimeError() # breakpoint FIXME
> >
> > As you can see, the __ne__ method of my object does get called.
>
>
> this occurs well after any attribute history detection has happened
> (which is where comparsions are supposed to happen, if needed).   The
> mapper has inserted the row, then it goes through the list of
> parameters which were inserted into the row and compares them to what
> is present on the object, so that it can detect Column-level defaults
> and other "auto"-generated values which need to be placed on the
> instance.  This methodology is out of date since nowadays we have an
> explicit listing of which columns were "auto" generated - so try out
> the attached patch which refines the methodology in that section and
> should solve the issue.  The patch is also ticket #1015 which needs
> test coverage before it can be committed (but is high priority for
> 0.4.6).
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to