Speedo TODO List

  1. Bug fix: The collection assignement is by value and not by reference since JDO 1.0.1. This should simplify the Speedo implementation, but that's means JDO is different than the java behavior. See the following example
    Class A {
    	public Collection myStrings; // Contains Stirng
    }
    
    // ------- somewhere in my application -------- //
    
    ArrayList myList = new ArrayList();
    myList.add("str1");
    
    pm.currentTransaction.begin();
    A a1 = new A();
    pm.makePersistent(a1);
    a1.myBs = myList;
    // At this time a1.myBs contains 1 element ("str1")
    
    myList.add("str2");
    // At this time a1.myBs contains always 1 element ("str1")
    // whereas myList contains 2 elements ("str1", "str2")
    
    pm.currentTransaction.commit();

  2. Bug fix: 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.
  3. horizontal mapping for the inheritance
    1. Medor/query must support horizontal mapping for navigation.
    2. constant hidden field

  4. vetical mapping for the inheritance
  5. cascade delete
  6. JDO 2: attach/detach
  7. JDO 2: interfaces
  8. JDO 2: use standard mapping
  9. JDO 2: query result type
  10. JDO 2: SUM, MAX, AVG in queries
  11. JDO 2: distinct in queries
  12. JDO 2: queries limit
  13. JDO 2: indexes generation
  14. 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).
  15. 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.

Back to the Speedo documentation