cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAY-1796) ROP: All entity's to-many relationships getting faulted from database when using it as a parameter in qualifier expression.
Date Fri, 10 Jan 2014 06:46:50 GMT

    [ https://issues.apache.org/jira/browse/CAY-1796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13867565#comment-13867565
] 

Andrus Adamchik commented on CAY-1796:
--------------------------------------

[~olegart] IMO the idea is correct. We need to write unit tests for it though. I think there
may be some Expression structures where object argument is not wrapped in ASTScalar. So we
need to test these cases:

* Expression created via ExpressionFactory methods
* Expression created via Expression.expWithParameters(..)
* Expressions where parameters are passed as collections (e.g. "IN" expression).

> ROP: All entity's to-many relationships getting faulted from database when using it as
a parameter in qualifier expression.
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAY-1796
>                 URL: https://issues.apache.org/jira/browse/CAY-1796
>             Project: Cayenne
>          Issue Type: Bug
>          Components: ROP
>    Affects Versions: 3.1B2
>            Reporter: Dzmitry Kazimirchyk
>             Fix For: 3.1B3
>
>         Attachments: cay1796.patch, cay1796_2.patch
>
>
> If entity is used as a parameter in qualifier expression all its unfaulted to-many relationships
are faulted prior to actual query sent to server. For example:
> Expression exp = ExpressionFactory.matchExp(Painting.ARTIST_PROPERTY, artist);
> context.performQuery(new SelectQuery(Painting.class, exp));
> Before actual query will be sent to server all artist's to-many relationships will be
faulted. What I see is that in the process of query serialization on client side PersistentObjectList.size()
is invoked which triggers relationships' faulting from database.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message