You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2013/07/16 21:08:50 UTC

[jira] [Updated] (CAY-1784) Improving 'Property' class to handle a few extra common cases

     [ https://issues.apache.org/jira/browse/CAY-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik updated CAY-1784:
---------------------------------

    Fix Version/s:     (was: 3.2M1)
                   3.2M2
    
> Improving 'Property' class to handle a few extra common cases
> -------------------------------------------------------------
>
>                 Key: CAY-1784
>                 URL: https://issues.apache.org/jira/browse/CAY-1784
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>             Fix For: 3.2M2
>
>
> This is feedback based on converting a large Java Cayenne project to the use of Property class available per CAY-1724 :
> 1. SelectQuery.addPrefetch(String prefetchPath)  <- this API should support working with properties.
> 2. DB paths, e.g. Orderings by DB PK column:   
>     SelectQuery.addOrdering("db:" + InsiderUser.ID_PK_COLUMN, SortOrder.ASCENDING);
>     Not sure yet how we can handle DB paths in general and PK in particular... 
> 3. ExpressionFactory.notLikeExp() is not implemented yet;
> 4. It will be good to have Property.in(List<?> list) method for convenience additionally to Property.in(E... values)
> 5. Compiling path expression for the Ordering object is one of the performance bottlenecks discovered in the aforementioned project. Caching ordering instances proved to be beneficial for the performance-sensitive pieces of code. Property object should either cache the Ordering or cache path Expression. I guess the later is a good approach in general, as a cached Expression can quicken building of qualifiers as well as orderings. Also need to make sure that whatever object we cache is immutable, so that callers can't modify it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira