Speedo TODO List
- Implements the EJB3 persistence API (JSR 220) (60%)
document the JMX console use
- test to write:
- basic type,
- identifier (composite, sequence),
- Query: build MEDOR queryTree 50%
- EM: manual locking, getReference
- Detach on commit 10%
- Delete by query 20%
- Update by query 20%
- J2EE / JOnAS integration
- Embedded PK
- XML Parser for persistence (only annotations currently)
- Named query
- SQL query
JDO 2: queries
JDO 2: persitent interfaces
- single string parsing
- having clause
- navigation based on a parameter
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
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)
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
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
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