Re: [appengine-java] Re: Date based sorting and result pagination

2010-06-10 Thread RAVINDER MAAN
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

2010-06-10 Thread Nacho Coloma
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

2010-06-10 Thread RAVINDER MAAN
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

2010-06-10 Thread Ravi Sharma
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

2010-06-09 Thread klonq
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

2010-06-09 Thread Nacho Coloma
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.