[Nitro] Join tables

George Moschovitis george.moschovitis at gmail.com
Fri Nov 4 01:59:47 EST 2005


thanks.


On 11/3/05, Rob Pitt <rob at motionpath.com> wrote:
> 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
> >
> >
>
> _______________________________________________
> 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




More information about the Nitro-general mailing list