[Nitro] [PATCH] Allow multiple joins_many style relationships between two classes (and relevent test case)

George Moschovitis george.moschovitis at gmail.com
Fri Feb 17 10:57:33 EST 2006


This is a great patch, In fact I needed this in one of my projects,
and planned to work on this when I get back. On the other hand, the Og
low level code needs again some refactoring, so this is my first Og
related priority when I get back.

thanks,
George.

On 2/17/06, Rob Pitt <rob at motionpath.com> wrote:
> Typical me jumping the gun :)
>
> This patch currently does not work with PostgreSQL store, I think it
> should work with the others as they do not directly reference the
> modified function. I am fixing it so PostgreSQL works properly with it
> now.
>
> (We needed this behaviour in a hurry... as usual less haste, more speed
> would have been prudent).
>
> On Fri, 2006-02-17 at 13:39 +0000, Rob Pitt wrote:
> > I have not tested this with anything but SQLite store either, I will do
> > PostgreSQL now and make appropriate changes (and a migration script so
> > you can seamlessly upgrade old projects to use this new method without
> > losing data).
> >
> > I hope you all agree this is a good idea and it would be very cool if it
> > doesn't work with your favoured store of choice (MySQL) if you let me
> > know since I only have PostgreSQL and SQLite at the moment to play with.
> >
> > On Fri, 2006-02-17 at 13:20 +0000, Rob Pitt wrote:
> > > WARNING: This patch causes join tables to be created with different
> > > names and will require you to manually copy join table data into newly
> > > named tables if applied to a project you are already using.
> > >
> > > Why would I make a patch that requires this? Not having this requirement
> > > (i.e. doing it in an automated fashion) would be fairly complicated and
> > > a big drain on CPU.
> > >
> > > This patch still needs to be implemented at some point because it
> > > enables a desirable behaviour, and we are at 0.2 so we should make
> > > changes with big impacts like this now rather than later.
> > >
> > > This is a very minor modification so that a model like this behaves as
> > > it should:
> > >
> > > Class Article
> > >   property :title, String
> > >
> > >   joins_many :first_join, Category
> > >   joins_many :second_join, Category
> > >   joins_many Category
> > >
> > >   def initialize(title)
> > >     @title = title
> > >   end
> > > end
> > >
> > > Without this patch, items you push into .first_join are visible
> > > in .second_join and the .categories join (all other combinations of this
> > > are also true).
> > >
> > > This is wrong, and this patch corrects this.
> > > _______________________________________________
> > > 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