[
https://issues.apache.org/jira/browse/CAY-1796?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Artyukevich updated CAY-1796:
----------------------------------
Attachment: cay1796test.patch
cay1796_3.patch
Andrus, I found out, that ASTList should convert it's values from Persistent to
ObjectId too. Made test file for case with ExpressionFactory, expression with
parameters.
One question:
Changed method QueryAssemblerHelper.appendLiteral(...). It checked if incoming
value is ObjectId. Previously there was check for Persistent object. So, do we
need to left check for Persistent object? Now it has both check for ObjectId
and Persistent object.
> 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, cay1796_3.patch,
> cay1796test.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)