Sorry, I probably misunderstood your previous explanation:
"Split expressions are going to be critical to implementing
useful outer joins."
The changes I've made to CAY-514 are undone. What I was trying to do
(but probably did it wrong) is to categorize Jira's according to the
main concepts we are implementing: split expressions and outer joins.
Anyways, I'll leave it as it is :-)
Andrus
On Jun 12, 2007, at 7:17 PM, Mike Kienenberger wrote:
> Andrus,
>
> I don't think this is quite the same thing.
>
> Split expressions are probably part of the solution to this problem,
> but not the entire solution. Nor did this feature have to be
> implemented in order to have useful outer joins.
>
> I'd recommend reverting your change to this Jira issue and opening a
> new issue just on outer joins.
>
> On 6/12/07, Andrus Adamchik (JIRA) <de..ayenne.apache.org> wrote:
>>
>> [ https://issues.apache.org/cayenne/browse/CAY-514?
>> page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>>
>> Andrus Adamchik updated CAY-514:
>> --------------------------------
>>
>> Summary: Split Expressions [implement a "MATCH ALL VALUES"
>> expression] (was: implement a "MATCH ALL VALUES" expression)
>>
>> editing the name
>>
>> > Split Expressions [implement a "MATCH ALL VALUES" expression]
>> > -------------------------------------------------------------
>> >
>> > Key: CAY-514
>> > URL: https://issues.apache.org/cayenne/browse/
>> CAY-514
>> > Project: Cayenne
>> > Issue Type: New Feature
>> > Components: Cayenne Core Library
>> > Affects Versions: 3.0
>> > Reporter: Mike Kienenberger
>> > Assignee: Mike Kienenberger
>> > Fix For: 3.0
>> >
>> >
>> > Implement a "Match all values" expression behavior (like
>> previously discussed as hasAllOfExp or MatchAllValuesExpression on
>> the mailing list in the past).
>> > For example,
>> > letters
>> > a
>> > b
>> > c
>> > digits
>> > 1
>> > 2
>> > 3
>> > letters__digits
>> > a-1
>> > a-2
>> > a-3
>> > b-2
>> > c-3
>> > c-2
>> > find all 1s: a
>> > find all 2s: a, b, c
>> > find all 3s: a, c
>> > "Match all values" on (1, 2) would generate sql like the
>> following and
>> > return "a"
>> > select l1.* from letters l1, letters_digits ld1, digits d1, letters
>> > l2, letters_digits ld1, digits d2 where
>> > d1.value = '1' and ld1.digit_id = d1.digit_id and ld1.letter_id
>> = l1.letter_id
>> > and
>> > d2.value = '2' and ld2.digit_id = d2.digit_id and ld2.letter_id
>> = l2.letter_id
>> > The current limitation is due to the fact that Cayenne qualifier
>> translator removes "duplicate" joins.
>> > You'd have to introduce the "split" expression as discussed in
>> the threads below. Maybe use a pipe symbol at a place in the path
>> where a split should start, like "|r1" or "r1.r2.|r3"?? Second
>> thing to change is QueryAsembler.dbRelationshipAdded(..) method
>> that removes "duplicates" to support the splits.
>> > There are a few more things to take care of to fully support
>> splits, so this is certainly not a trivial change.
>> > Relevent threads discussing the idea and issues in more details:
>> > http://www.objectstyle.org/cayenne/lists/cayenne-devel/
>> 2003/09/0096.html
>> > http://www.objectstyle.org/cayenne/lists/cayenne-devel/
>> 2003/10/0005.html
>>
>> --
>> This message is automatically generated by JIRA.
>> -
>> You can reply to this email to add a comment to the issue online.
>>
>>
>
This archive was generated by hypermail 2.0.0 : Tue Jun 12 2007 - 12:49:55 EDT