Re: [appengine-java] Re: Date based sorting and result pagination
I am using JDO .So which option is best cursors or setRange? On Wed, Jun 9, 2010 at 1:47 PM, Nacho Coloma icol...@gmail.com wrote: You should specify if you are using JDO, JPA or other. SimpleDS has a PagedQuery implementation that can be ported to your own environment. Look for getFetchOptions() in this link: http://code.google.com/p/simpleds/source/browse/trunk/src/main/java/org/simpleds/PagedQuery.java This will only resolve the paging, and it's not optimal but convenient (can jump to a specific page etc). For an optimal solution, use cursors. On Jun 9, 7:36 am, RAVINDER MAAN rsmaan...@gmail.com wrote: Hello all how can i get my query result sorted based on creationdate and also i want to do pagination for the same.what is the best way to do that.can anybody refer me any example code? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Ravinder Singh Maan -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Date based sorting and result pagination
Cursors is the best choice, but they can only be used to paginate forward. You will have to use your own hacks to allow more than one page. setRange() is more flexible, but should give you worse performance. On Jun 10, 3:27 pm, RAVINDER MAAN rsmaan...@gmail.com wrote: I am using JDO .So which option is best cursors or setRange? On Wed, Jun 9, 2010 at 1:47 PM, Nacho Coloma icol...@gmail.com wrote: You should specify if you are using JDO, JPA or other. SimpleDS has a PagedQuery implementation that can be ported to your own environment. Look for getFetchOptions() in this link: http://code.google.com/p/simpleds/source/browse/trunk/src/main/java/o... This will only resolve the paging, and it's not optimal but convenient (can jump to a specific page etc). For an optimal solution, use cursors. On Jun 9, 7:36 am, RAVINDER MAAN rsmaan...@gmail.com wrote: Hello all how can i get my query result sorted based on creationdate and also i want to do pagination for the same.what is the best way to do that.can anybody refer me any example code? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Ravinder Singh Maan -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: Date based sorting and result pagination
Thanks Ravi .. So nice of you. On Fri, Jun 11, 2010 at 12:37 AM, Ravi Sharma ping2r...@gmail.com wrote: you are already sorting on date..and that can be best candidate for paging too but u may need indexes in both direction(asc,desc) for creation date. lets say ur entity has fololowing prooerty on which u will fliter propA propB creationData so u will write basic query like select * from entity where propA='something' and propB='xyz' order by creationDate asc. once you get this result, keep this first record's creation date and last record's date, may be send it to client and attach it to prev, next links. At this stage prev will be null(as its start of the paging.i.e. first page) and next will be creation date of last record. If user click Next execute a query like this select * from entity where propA='something' and propB='xyz' and creationDatedateSuppliedByClient order by creationDate asc..Here dateSuppliedByClient is creationDate of last record of above query. again do the same thing bind the creationDate first record to previous and last record to Next. so for every next you will keep executing second query now if user click previous, then execute bit different query select * from entity where propA='something' and propB='xyz' and creationDatedateSuppliedByClient order by creationDate *desc*.Here dateSuppliedByClient is creationDate of first record of above query. NOTE : creationDate condition clause has changed and sorting order has changed So u will have following Indexes propA ^ propB^ creationDate^ propA ^ propB^ creationDate(Desc) On Thu, Jun 10, 2010 at 7:34 PM, RAVINDER MAAN rsmaan...@gmail.comwrote: I forsee that there will be around 100 records or entities in one table.I have to do filtering based on one or two ,sorting based on creation date then display results through pagination with back and forth traversing of records.so what will be the best strategy in this case. On Thu, Jun 10, 2010 at 10:31 PM, Nacho Coloma icol...@gmail.com wrote: Cursors is the best choice, but they can only be used to paginate forward. You will have to use your own hacks to allow more than one page. setRange() is more flexible, but should give you worse performance. On Jun 10, 3:27 pm, RAVINDER MAAN rsmaan...@gmail.com wrote: I am using JDO .So which option is best cursors or setRange? On Wed, Jun 9, 2010 at 1:47 PM, Nacho Coloma icol...@gmail.com wrote: You should specify if you are using JDO, JPA or other. SimpleDS has a PagedQuery implementation that can be ported to your own environment. Look for getFetchOptions() in this link: http://code.google.com/p/simpleds/source/browse/trunk/src/main/java/o... This will only resolve the paging, and it's not optimal but convenient (can jump to a specific page etc). For an optimal solution, use cursors. On Jun 9, 7:36 am, RAVINDER MAAN rsmaan...@gmail.com wrote: Hello all how can i get my query result sorted based on creationdate and also i want to do pagination for the same.what is the best way to do that.can anybody refer me any example code? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Ravinder Singh Maan -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Ravinder Singh Maan -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to
Re: [appengine-java] Re: Date based sorting and result pagination
you are already sorting on date..and that can be best candidate for paging too but u may need indexes in both direction(asc,desc) for creation date. lets say ur entity has fololowing prooerty on which u will fliter propA propB creationData so u will write basic query like select * from entity where propA='something' and propB='xyz' order by creationDate asc. once you get this result, keep this first record's creation date and last record's date, may be send it to client and attach it to prev, next links. At this stage prev will be null(as its start of the paging.i.e. first page) and next will be creation date of last record. If user click Next execute a query like this select * from entity where propA='something' and propB='xyz' and creationDatedateSuppliedByClient order by creationDate asc..Here dateSuppliedByClient is creationDate of last record of above query. again do the same thing bind the creationDate first record to previous and last record to Next. so for every next you will keep executing second query now if user click previous, then execute bit different query select * from entity where propA='something' and propB='xyz' and creationDatedateSuppliedByClient order by creationDate *desc*.Here dateSuppliedByClient is creationDate of first record of above query. NOTE : creationDate condition clause has changed and sorting order has changed So u will have following Indexes propA ^ propB^ creationDate^ propA ^ propB^ creationDate(Desc) On Thu, Jun 10, 2010 at 7:34 PM, RAVINDER MAAN rsmaan...@gmail.com wrote: I forsee that there will be around 100 records or entities in one table.I have to do filtering based on one or two ,sorting based on creation date then display results through pagination with back and forth traversing of records.so what will be the best strategy in this case. On Thu, Jun 10, 2010 at 10:31 PM, Nacho Coloma icol...@gmail.com wrote: Cursors is the best choice, but they can only be used to paginate forward. You will have to use your own hacks to allow more than one page. setRange() is more flexible, but should give you worse performance. On Jun 10, 3:27 pm, RAVINDER MAAN rsmaan...@gmail.com wrote: I am using JDO .So which option is best cursors or setRange? On Wed, Jun 9, 2010 at 1:47 PM, Nacho Coloma icol...@gmail.com wrote: You should specify if you are using JDO, JPA or other. SimpleDS has a PagedQuery implementation that can be ported to your own environment. Look for getFetchOptions() in this link: http://code.google.com/p/simpleds/source/browse/trunk/src/main/java/o. .. This will only resolve the paging, and it's not optimal but convenient (can jump to a specific page etc). For an optimal solution, use cursors. On Jun 9, 7:36 am, RAVINDER MAAN rsmaan...@gmail.com wrote: Hello all how can i get my query result sorted based on creationdate and also i want to do pagination for the same.what is the best way to do that.can anybody refer me any example code? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.comgoogle-appengine-java%2B unsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Ravinder Singh Maan -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- Regards, Ravinder Singh Maan -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Date based sorting and result pagination
http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html On Jun 9, 7:36 am, RAVINDER MAAN rsmaan...@gmail.com wrote: Hello all how can i get my query result sorted based on creationdate and also i want to do pagination for the same.what is the best way to do that.can anybody refer me any example code? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
[appengine-java] Re: Date based sorting and result pagination
You should specify if you are using JDO, JPA or other. SimpleDS has a PagedQuery implementation that can be ported to your own environment. Look for getFetchOptions() in this link: http://code.google.com/p/simpleds/source/browse/trunk/src/main/java/org/simpleds/PagedQuery.java This will only resolve the paging, and it's not optimal but convenient (can jump to a specific page etc). For an optimal solution, use cursors. On Jun 9, 7:36 am, RAVINDER MAAN rsmaan...@gmail.com wrote: Hello all how can i get my query result sorted based on creationdate and also i want to do pagination for the same.what is the best way to do that.can anybody refer me any example code? Thanks -- You received this message because you are subscribed to the Google Groups Google App Engine for Java group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.