Re: Faulting Behavior with setPageSize() and Sort Ordering

From: Joe Baldwin (jfbaldwi..arthlink.net)
Date: Tue Jun 16 2009 - 13:58:31 EDT

  • Next message: Andrey Razumovsky: "Re: Faulting Behavior with setPageSize() and Sort Ordering"

    That sounds logical. So if I limit my sort ordering to the initial
    query then the objects in pages 2-n will remain hollow?

    (I have a few instances in which there is sort ordering by the client
    (which is post query - resultset ordering). I will have to take a
    look at this design to implement this rule better.)

    Thanks,
    Joe

    On Jun 16, 2009, at 1:45 PM, Andrey Razumovsky wrote:

    > The trick of paginated query is that all objects returned are
    > HOLLOW, thus
    > having only identifier. Ordering.orderList will surely resolve *all*
    > records, how else would it know parameters of each object. To order
    > a long
    > list properly you need to set ordering to a query:
    >
    > query.setPageSize(RowsPerPage);
    > query.addOrdering(order);
    > List orderedResults = context.performQuery(query);
    >
    > 2009/6/16 Joe Baldwin <jfbaldwi..arthlink.net>
    >
    >> This is a question concerning making performance enhancements with
    >> Cayenne
    >> directives.
    >>
    >> Lets say you use the following SelectQuery method
    >>
    >> query.setPageSize(RowsPerPage);
    >>
    >> But then you decide to sort order the result list using
    >>
    >> Ordering order = new Ordering(<entity>.<attribute>_PROPERTY,
    >> true);
    >> order.orderList(resultList);
    >>
    >> If I understand the docs, then the purpose of setting the PageSize
    >> parameter is to reduce the work load (and increase performance) by
    >> limiting
    >> fetching to the first "RowsPerPage" amount of data-objects.
    >>
    >> I am wondering whether performing a sort ordering on the resultList
    >> triggers *all* the page and object faults. If I am correct then sort
    >> ordering would render setPageSize moot in this scenario.
    >>
    >> Is my analysis correct or has Cayenne somehow avoided this? (Or is
    >> there
    >> another way to do sort ordering?)
    >>
    >> Joe
    >>
    >>
    >>



    This archive was generated by hypermail 2.0.0 : Tue Jun 16 2009 - 13:59:14 EDT