You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by Erlend Birkenes <eb...@dataloy.com> on 2014/08/05 17:57:07 UTC

Problems combining joint and disjoint_by_id prefetch semantics

Hi

I have a query where I want to use joint prefetch sematics on some
relationships and disjoint_by_id on others.

But whenever there is a prefetch with joint semantics, the ones that use
disjoint_by_id never happens. There simply is no query for them. And even
worse: the relationship is not faulted either, it just returns null when
accessed.

The default disjoint semantics works fine together with joint, but not
disjoint_by_id. If I change my joint prefetch to something else, then
disjoint_by_id starts working again.

I've tested this with 3.1B2 and 3.1RC1.

The documentation at
https://cayenne.apache.org/docs/3.1/cayenne-guide/performance-tuning.html
says "There's no limitation on mixing different types of semantics in the
same SelectQuery. Multiple prefetches each can have its own semantics." Is
that not the case or is this a bug?

Has anyone else encountered this problem, or have any suggestions?


–
Erlend

Re: Problems combining joint and disjoint_by_id prefetch semantics

Posted by Andrus Adamchik <an...@objectstyle.org>.
Hi Erlend,

You are right about declared ability of mixing and matching prefetches with different semantics. But perhaps we’ve overlooked this case. Sounds unrelated to the problem that you mentioned on the dev list, and doesn’t seem to be addressed by one of the recent prefetch bugfixes [1].

So likely a bug. A Jira is welcome.

Thanks,
Andrus


[1] http://markmail.org/message/jxuzlldlekz7ehkc


On Aug 5, 2014, at 6:57 PM, Erlend Birkenes <eb...@dataloy.com> wrote:

> Hi
> 
> I have a query where I want to use joint prefetch sematics on some
> relationships and disjoint_by_id on others.
> 
> But whenever there is a prefetch with joint semantics, the ones that use
> disjoint_by_id never happens. There simply is no query for them. And even
> worse: the relationship is not faulted either, it just returns null when
> accessed.
> 
> The default disjoint semantics works fine together with joint, but not
> disjoint_by_id. If I change my joint prefetch to something else, then
> disjoint_by_id starts working again.
> 
> I've tested this with 3.1B2 and 3.1RC1.
> 
> The documentation at
> https://cayenne.apache.org/docs/3.1/cayenne-guide/performance-tuning.html
> says "There's no limitation on mixing different types of semantics in the
> same SelectQuery. Multiple prefetches each can have its own semantics." Is
> that not the case or is this a bug?
> 
> Has anyone else encountered this problem, or have any suggestions?
> 
> 
> –
> Erlend