Michael Bayer ha scritto:
> 
> On Nov 9, 2007, at 4:23 PM, Manlio Perillo wrote:
> 
>> Michael Bayer ha scritto:
>>> Sorry, I forgot to add that the mappers A and B must have a  
>>> relation()
>>> specified in order for unit of work to determine the order of
>>> operations.  this has always been the case in all versions.
>>> illustrated in the attached script.
>>>
>> But I have a piece a code that works with SQLAlchemy 0.3.6 and fails
>> with never versions.
>>
>> The schema is at:
>> http://hg.mperillo.ath.cx/nweb/nauth/file/68ab5b8e71f8/nauth/schema.py
>> and the code is at:
>> http://hg.mperillo.ath.cx/nweb/nauth/file/68ab5b8e71f8/test/test_nauth.py
>>
>> in the test suit named RealmTestCase (in the setUp method) column 248.
> 
> Well thats a lot of code to read, 

Sorry.

> but I can see that your mappers have  
> no relations set between them.  

Right.

> SQLAlchemy has never made any  
> guarantees of insert order among two different tables that have no  
> explicitly defined relation to each other at the mapper level; and in  
> fact the test case I posted earlier still inserts into B before A even  
> on 0.3.6.  If your application save()s A and B, which have no  
> relation() to each other, and it requires that A be inserted before B,  
> you are relying on behavior that is currently undefined.  If your app  
> runs on 0.3.6 with linux, I bet it would fail on OSX which usually  
> orders dictionaries differently than the same app would on linux.
> 

Ok, so the order is undefined.

> this is not to say it might be an *interesting* feature for mappers to  
> take foreign keys on tables which have no corresponding relation()  
> into account when flushing, although i think it might be somewhat  
> surprising behavior and id be concerned about the feature adding  
> unnecessary complexity.
> 

Isn't it possible to just use the order used by the programmer?
If I call
save(A)
save(B)

then the operations should be executed in this order.



Thanks  Manlio Perillo


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