cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From do...@xsinet.co.za
Subject Re: Issue with distinct 3.1
Date Wed, 13 Nov 2013 12:57:48 GMT
With regards to:
>  I wonder if we should just deprecate ‘distinct’ as a solution.

What about making it a no op ?  With the Java doc explaining that it does
nothing because "Cayenne forces DISTINCT in the generated SQL whether you
specify it or not because it detects a match on to-many relationship and
realizes that it needs to get rid of duplicates in the cartesian product."
(Andrus)


>> So really there is little to no use for setDistinct in a SelectQuery.
>
> I think so too. Other than some messed up DB with de-facto non-unique PK,
> I can’t think why that would be needed.
>
>> Andrus if you want I can open a Jira Issue
>
> Yes please. And I wonder if we should just deprecate ‘distinct’ as a
> solution.
>
> Andrus
>
> On Nov 13, 2013, at 1:05 PM, Ramiro Aparicio <ramiro.aparicio@prot-on.com>
> wrote:
>
>> So really there is little to no use for setDistinct in a SelectQuery.
>>
>> Anyway I was more concerned about the Where clause, I can assure that I
>> am using a non null owner but even then owner is a User object so there
>> is no reason why Cayenne should try to match agains a Contact and
>> distinct should not change the where clause in this query.
>>
>> For reference Contact entity has 3 attributes:
>> + contactOwner : relationship with User
>> + contactTarget: relationship with User
>> + idcontact: AI PK
>>
>> Andrus if you want I can open a Jira Issue
>>
>> Ramiro
>>
>> El 13/11/2013 8:00, Andrus Adamchik escribió:
>>> Cayenne forces DISTINCT in the generated SQL whether you specify it or
>>> not because it detects a match on to-many relationship and realizes
>>> that it needs to get rid of duplicates in the cartesian product. So I
>>> guess explicit DISTINCT shouldn’t normally be needed.
>>>
>>> As to why NULL is bound in the DISTINCT case, this could either be a
>>> yet unknown bug in the framework, or something in the app code.
>>>
>>> Andrus
>>>
>>> On Nov 13, 2013, at 1:15 AM, Aristedes Maniatis <ari@maniatis.org>
>>> wrote:
>>>
>>>> On 13/11/2013 3:59am, Ramiro Aparicio wrote:
>>>>
>>>>> I am really not sure if current behaviour without distinct is ok, but
>>>>> at least it works for me.
>>>> Cayenne returns a collection of objects that will never have
>>>> duplicates. In fact you can choose whether the results return as a
>>>> Set, List or Map.
>>>>
>>>> Ari




Mime
View raw message