From: Hank R. <ha...@cr...> - 2006-11-30 17:49:31
|
Yes, thanks, I considered this, but the potential result set is megabytes. As it happens, these elements have a child with a unique ID, so I could cache the "ev-id" element and go back and get the whole element one at a time //myNode[ev-id='an-id'] , but there is some overhead to this also, even with an index. So, without yet being familiar with the internals, I wonder if the idea of persisting a query result for the life of a session, so that _start and _howmany work just like a cursor on subsequent calls -- if the idea has been discussed. If the url escaped _query matches an existing, and an _start parameter is present, then, the persisted result set is used with no need to re-evaluate the query. Cheers, Hank ----- Original Message ----- From: "Adam Retter" <ada...@de...> To: "Hank Ratzesberger" <ha...@cr...> Cc: <exi...@li...> Sent: Thursday, November 30, 2006 9:18 AM Subject: Re: [Exist-open] Cursor like functionality > If I understand your requirements correctly, This is something that you > can implement on the application level (we certainly do here). Something > like this maybe - > > > let $resultset := subsequence(session:get-attribute("results"), $start, > $count) return > > if(empty($resultset))then > ( > (: perform the query :) > let $results := //myNode return > > (: cache the results in the http session :) > session:set-attribute("results", $results) > ) > else > ( > (: show the subset of the results :) > $resultset > ) > > > > On Thu, 2006-11-30 at 09:01 -0800, Hank Ratzesberger wrote: >> Hello, >> >> I make some queries that simply cannot be optimized >> because they compare so many elements. In a sql >> database, I would make the query once and use a cursor >> to page through the result. >> >> The REST interface conveniently returns the @hits, >> @start and @count. Perhaps I am doing something else >> wrongly, but calling the same query again, with a >> new _start still appears to process the whole long >> query again. >> >> Has there been some discussion of a result that >> persists for the session, so that the same query with >> and new _start works like a cursor? >> >> Thank you, >> Hank >> >> Hank Ratzesberger >> NEES Programmer >> Institute for Crustal Studies >> University of California, Santa Barbara >> |