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] [Comment Edited] (CAY-1902) Implement resolving Db paths for DataObjects
Date Thu, 30 Apr 2015 06:44:06 GMT

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

Andrus Adamchik edited comment on CAY-1902 at 4/30/15 6:43 AM:
---------------------------------------------------------------

> Doesn't the cached snapshot HAVE to exist in order for optimistic locking to work? 
> Is the original snapshot for locking stored somewhere else?

We do optimistic locking at the Obj* level , so no DB snapshot is needed.

> If I remove the snapshot by calling objectStore.unregisterNode then the object becomes

> "transient" and has no objectId so I can't evaluate db paths on it. 
> So it seems like if the snapshot is not in the cache then you can't evaluate 
> db path expressions against it in memory.

Then you need to get the snapshot from DB. BTW, I am rethinking the whole business of unsetting
ObjectId for unregistered objects. I think this is wrong and we should preserve the id of
transient objects that were previously registered with ObjectContext and then were evicted
for one or another reason.


was (Author: andrus):
> Doesn't the cached snapshot HAVE to exist in order for optimistic locking to work? 
> Is the original snapshot for locking stored somewhere else?

We do optimistic locking on Obj* level, so no DB snapshot is needed.

> If I remove the snapshot by calling objectStore.unregisterNode then the object becomes

> "transient" and has no objectId so I can't evaluate db paths on it. 
> So it seems like if the snapshot is not in the cache then you can't evaluate 
> db path expressions against it in memory.

Then you need to get the snapshot from DB. BTW, I am rethinking the whole business of unsetting
ObjectId for unregistered objects. I think this is wrong and we should preserve the id of
transient objects that were previously registered with ObjectContext and then were evicted
for one or another reason.

> Implement resolving Db paths for DataObjects
> --------------------------------------------
>
>                 Key: CAY-1902
>                 URL: https://issues.apache.org/jira/browse/CAY-1902
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>    Affects Versions: 4.0.M2
>            Reporter: John Huss
>            Assignee: John Huss
>            Priority: Minor
>             Fix For: Undefined future
>
>         Attachments: 0001-CAY-1902-Implement-resolving-Db-paths-for-DataObject.patch,
0001-Implement-db-path-evaluation-in-memory.patch
>
>
> Expressions using db paths don't support in-memory evaluation against DataObjects (there
is a TODO in the code).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message