[Nitro] Join tables

Rob Pitt rob at motionpath.com
Thu Nov 3 12:40:31 EST 2005


Ok then so I mailed them to the whole list by accident... sorry :)
Rob Pitt wrote:

>I put a patchset with all mine and Chris' changes in a file and mailed 
>them to you.
>
>George Moschovitis wrote:
>
>  
>
>>Rob, please....
>>
>>a diff would REALLy help me...
>>
>>-g.
>>
>>
>>On 11/3/05, Rob Pitt <rob at motionpath.com> wrote:
>> 
>>
>>    
>>
>>>I have pushed a patch that does this to the motionpath darcs repo
>>>(depends on a couple of others relating to schema evolution also pushed
>>>by me today).
>>>
>>>Unfortunately it is a little slower on startup as I could not think how
>>>to get around the problem that some of the tables to be joined could be
>>>missing when the join table is made without violating the "each og
>>>entitiy manages it's own store" paradigm there seems to be. This meant
>>>that sometimes you would have to start the program twice in order to
>>>have all the foreign key constraints added.
>>>
>>>So, I came up with a solution. I added a
>>>OgManagedClass.resolve_remote_relations method that returns a list of
>>>all relations that point *to* OgManagedClass from within other classed
>>>managed by Og. Then, when making join tables, the constraints try to
>>>recursively be added to all other already known about classes that point
>>>at the current class (because now both tables will exist and the join
>>>table constraints can be made).
>>>
>>>This works fine but is not really ideal. There is a new function called
>>>create_join_table_foreign_key_constraints(klass,info) that if someone
>>>came up of a better place to put it, could still be leveraged there instead.
>>>
>>>Enjoy...
>>>
>>>George Moschovitis wrote:
>>>
>>>   
>>>
>>>      
>>>
>>>>please send me the full patch with the foreign table constraints. This
>>>>was something I planned to add for ages.
>>>>
>>>>regards,
>>>>Geoge.
>>>>
>>>>On 11/3/05, Rob Pitt <rob at motionpath.com> wrote:
>>>>
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>>>After updating to the latest nitro dev repository I ran delete_all on a
>>>>>class that had a join table with itself. Once all records were deleted
>>>>>there were numbers left over lying around in the join table. I never
>>>>>noticed this before because I had patched the old version to add
>>>>>PostgreSQL foreign key constraints on join tables. I will put these
>>>>>constraints back into our version here which will take care of the
>>>>>problem for us and possibly look at why that happens later but I thought
>>>>>everyone else might like a heads up.
>>>>>_______________________________________________
>>>>>Nitro-general mailing list
>>>>>Nitro-general at rubyforge.org
>>>>>http://rubyforge.org/mailman/listinfo/nitro-general
>>>>>
>>>>>
>>>>>
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>--
>>>>http://www.gmosx.com
>>>>http://www.navel.gr
>>>>http://www.nitrohq.com
>>>>
>>>>_______________________________________________
>>>>Nitro-general mailing list
>>>>Nitro-general at rubyforge.org
>>>>http://rubyforge.org/mailman/listinfo/nitro-general
>>>>
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>_______________________________________________
>>>Nitro-general mailing list
>>>Nitro-general at rubyforge.org
>>>http://rubyforge.org/mailman/listinfo/nitro-general
>>>
>>>   
>>>
>>>      
>>>
>>--
>>http://www.gmosx.com
>>http://www.navel.gr
>>http://www.nitrohq.com
>>
>>_______________________________________________
>>Nitro-general mailing list
>>Nitro-general at rubyforge.org
>>http://rubyforge.org/mailman/listinfo/nitro-general
>> 
>>
>>    
>>
>
>_______________________________________________
>Nitro-general mailing list
>Nitro-general at rubyforge.org
>http://rubyforge.org/mailman/listinfo/nitro-general
>  
>




More information about the Nitro-general mailing list