Speedo TODO List
- Implements the EJB3 persistence API (JSR 220) (60%)
- speedo refactoring: 100%
- Enhancer: OK
- Query: parser 100%, queryTree 30%
- runtime (PersistenceProvider, EMF, EM, Tx) 20%
- detach on commit 10%
- delete by query 20%
- update by query 20%
- support Getter mode 0%
- document the JMX console use
- Vertical mapping for the inheritance
- JDO 2: queries
- single string parsing
- having clause
- navigation based on a parameter
- delete
- JDO 2: persitent interfaces
- Avoid extent if all classes instances are loaded.
- Add foreign key constraint declaration in Speedo.
- Bug to fix: In JDO The persistency by attachement must be checked at
commit time too and can be able to forget attached instances which are
no more
attached to a persistent instance. That implies to maintain in the
working a list of really persistent class and a list of persistent
class by attadchement. At the commit time Speedo must checks if among
the persistent class by attachement, some instances are no more
attached to a real persistent class.
- Provide particular implementation of Collection and Set in order
to avoid the loading in case of very large collection. These
implementations would implement the collection/set methods with SQL
order (add ==> INSERT, remove ==> DELETE, contains ==> SELECT,
iterator ==> query, ...). The implementation idea is to consider
collection elements like persistent objects. The identifier would be
composed of the collection identifier and the element identifier (PName
or primitive value).
- Attribute a weight to the compiled query. This weight would be
based on the time to compile the query. Indeed an heavy query should be
kept in cache in place of light weight query.
- Distributed concurrency manager (use existing Perseus component)
- Distributed cache
- When prefetching an extent of an inheritance graph, with auto
references, avoid to load these auto references form the database if
already present in the prefetch buffer (but not yet in the map [PName
-> RowId]).
- Allow to have 2 java fields with the same name into 2 classes
belonging to the same inheritance graph (see JORM bug).
- Hide persistent object distribution (in several database)
- Speedo over file system
- Separate the enhancer in two parts: class weaving and mapping
code generation
- Currently, to get a sequence, one class of the package must be
loaded before the pm.getSequence.
- For jdo2 sequence, factory class and contiguous.
- Allow to use the pk of a class as the key of a map in a
unidirectional relationship case.
- Write only dirty fields.
Back to the Speedo documentation