Attendees: Matthew Adams, Michael Bouschen

Agenda:

1. Embedded object and evict
Looks like JDOHelper.isPersistent(embedded) should return false after the embedded was evicted, because with evict th embedded hast lost the connection to its owner and cannot e stored anymore. Questions:
- What does it mean that an embedded transitions to hollow on evict?
- Do we need a new life cycle state representing an orphaned embedded instance or is transient the right life cycle state? - Do we need a new method on PM and/or PMF allowing to figure out whether a field is embedded: isEmbedded(Class owner, String Field) and isEmbedded(java.lang.reflect.Field field)
 alternate method name: isEmbeddedField
More email discussion needed.

2. Fetch notifications
Concept of use cases seems useful in order to tune the application w/o the need to change the actual code. In the corresponding email thread Andy gave a list of possible PM and Transaction properties that can set as part of a use case (PM: "multithreaded", "detachAllOnCommit", "IgnoreCache", "queryTimeoutInMillis", "copyOnAttach", "fetchPlan", Transaction: "optimistic", "nontx-read", "nontx-write", "restoreValues", "retainValues", "txnIsolationLevel", "txnRollbackOnly") plus vendor specific extensions. The API to specify a use case would be PM.setUseCase(String name) and PM.getUseCase(). Setting a new use case removes any previous use case, passing null to setUseCase stops using the current use case.

Comparing the FetchListener and the StateManagerListener approach from Matthew's proposal (see email with subject "Fetch notifications"), the StateManagerListener is the more general approach.

The StateManagerListener and support for use cases are orthogonal and not mutually exclusive.

3. Other issues: no

Action Items from weeks past:

[Feb 13 2007] AI Craig update the spec and make clear the relationship between Query.cancel and multithreading.

[Nov 30 2007] AI Christiaan propose more details on Update/copy by query for post-JDO 2.1.

[May 25 2007] AI everyone download the Grails demo from grails.org and check it out. Also look at Grails/Groovy ExpandoMetaClass that has the magic to avoid reflection and enhancement.

[May 25 2007] AI Matthew Adams prepare a proposal with just the basics of schema synchronization with jdo and orm metadata.

Reply via email to