On Nov 16, 2008, at 6:06 PM, Christian Heimes wrote:

>
> * wait until 2.6.1 is released. 2to3 in 2.6.0 is broken and breaks on
> SA 0.5rc2

rc4 runs on the current 2.6 release, I've been experimenting today.

> * get SA working on 2.6.1 with the -3 warning options w/o triggering
> a warning

I've got most of the tests running with the -3 flag as well, and have  
gotten rid of the warnings which are to the effect of "method XXX will  
not be available" as well as other patterns which are explicitly  
forbidden.  There are a lot of warnings which don't necessarily seem  
to be things we have to change, like instrumenting __setslice__ on a  
collection - it just won't be called in Py3.

> * run 2to3 and pray ;)

waiting for 2to3, however the main thing to work on is this  
__hash__(), __eq__() business.  I've added a branch which dramatically  
changes how we use dicts and sets throughout the library.   We  
actually rely very heavily on elements being hashed strictly on their  
__hash__() value, with the assumption that __eq__() is never called as  
long as __hash__() is distinct.  This is the behavior in all the  
cPythons between 2.3-2.5, if you try out http://paste.pocoo.org/show/91414/ 
  for example.

The language regarding __hash__() seems a lot more strict in py3k so  
the branch is just to see how hard it would be to not rely upon this  
behavior if we had to, so the branch abstracts away all dict/set usage  
to special versions which hash on a __sa_hash_key__().  It works but  
introduces a fair amount of overhead.



--~--~---------~--~----~------------~-------~--~----~
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