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