cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <>
Subject [jira] [Commented] (CAY-1902) Implement resolving Db paths for DataObjects
Date Thu, 30 Apr 2015 06:23:06 GMT


Andrus Adamchik commented on CAY-1902:

> 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:
>             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,
> 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

View raw message