Return-Path: Delivered-To: apmail-cayenne-dev-archive@www.apache.org Received: (qmail 24141 invoked from network); 19 May 2010 15:49:01 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 19 May 2010 15:49:01 -0000 Received: (qmail 64442 invoked by uid 500); 19 May 2010 15:49:01 -0000 Delivered-To: apmail-cayenne-dev-archive@cayenne.apache.org Received: (qmail 64421 invoked by uid 500); 19 May 2010 15:49:01 -0000 Mailing-List: contact dev-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list dev@cayenne.apache.org Received: (qmail 64413 invoked by uid 99); 19 May 2010 15:49:01 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 May 2010 15:49:01 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [208.78.103.231] (HELO vorsha.objectstyle.org) (208.78.103.231) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 19 May 2010 15:48:54 +0000 Received: (qmail 3714 invoked from network); 19 May 2010 15:48:32 -0000 Received: from unknown (HELO ?IPv6:::1?) (127.0.0.1) by localhost with SMTP; 19 May 2010 15:48:32 -0000 Message-Id: From: Andrus Adamchik To: dev@cayenne.apache.org In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v936) Subject: Re: Vertical inheritance Date: Wed, 19 May 2010 18:48:31 +0300 References: <0C62EB6A-3BE7-4DBC-8F9E-265332E9954D@objectstyle.org> X-Mailer: Apple Mail (2.936) X-Virus-Checked: Checked by ClamAV on apache.org I guess right now we need to define the scope of what needs to be done and then try to split it up. The basic Modeler support is there in fact (so CAY-330 can probably be closed), as you can specify both a superclass and a root table different from superclass. So task #1 is to check how well it actually works (is it saved/loaded correctly, does attribute/relationships remapping work, does class generation work). Then the backend stuff... When I looked at it last time, I started from SelectQuery processing and I was planning to provide a framework for handling all types of inheritance at once (as it would suck to redo it again when we move say from h to v inheritance). IIRC the place where I got stuck was creating (and later processing) the right result set columns to handle a general case of inheritance with fetching from multiple tables (tangentially related is CAY-1141). I guess I may start by resuming this work. What makes it harder than it should be is that we still haven't reconciled EJBQL/SelectQuery into a single query, so there are 2 sets of translators doing essentially the same work. Andrus On May 19, 2010, at 3:58 PM, Mike Kienenberger wrote: > If there is a relatively-isolated subset of the task that I can work > on in the meantime, let me know. > > Perhaps some modeler/config-file support or even something more > involved in the guts. > > > On Wed, May 19, 2010 at 8:28 AM, Andrus Adamchik > wrote: >> Hi Mike, >> >> Would be cool to have you back :-) >> >> Yeah, my estimate re: horizontal+vertical inheritance was that it >> would >> require lots of *uninterrupted* work on my end (lets say 4 weeks). >> Since I >> have to work on other projects at the same time, that's the luxury >> I can't >> afford (in fact it already resulted in a few abandoned local git >> branches >> where I started to develop some idea, only to realize I can't >> remember what >> it was when I come back to it 2 months later). >> >> I am going to WWDC in a few weeks. Maybe I can use this "vacation" >> time to >> give it another shot (especially since it involves a trans-atlantic >> flight >> where nobody can call me or send an email ... this may be >> equivalent to 4 >> weeks of office time :-)). I was going to work on some other 3.1 >> features >> now, but since inheritance has always been high on my list of >> things to do, >> I wouldn't mind re-prioritizing... >> >> Andrus >> >> >> >> On May 19, 2010, at 1:19 AM, Mike Kienenberger wrote: >>> >>> Andrus, >>> >>> In the horizontal inheritance jira issue, you mentioned the >>> following: >>> ================= >>> Unfortunately we dropped the ball on horizontal inheritance in 3.0 >>> due >>> to the lack of time by people who could make it happen (the >>> implementation is rather deep and involved). I very much like to >>> revive this effort in 3.1 beyond a few Modeler patches that we >>> have in >>> place so far. It is in my queue right after the new DI stuff. >>> ================= >>> >>> The primary JSF/JPA team project I have been working on is now >>> considering switching to Cayenne and dropping JPA. One of the >>> concerns is vertical inheritance support. Any thoughts on how long >>> it might take and how much effort is involved before vertical >>> inheritance is a first-class citizen? If we switch, it is likely >>> that I will be able to contribute toward this effort -- it was >>> hard to >>> find time to work on Cayenne when I wasn't doing any paid projects >>> involving Cayenne. >>> >> >> >