cayenne-commits mailing list archives

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

     [ 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)

Mime
View raw message