From: Alessandro V. <av...@sc...> - 2008-06-18 01:02:33
|
Hi Wolfgang, Wolfgang Meier-2 wrote: > > I checked this and found that the REST interface does indeed not stream > out the query results. It serializes the entire result in memory before > it writes it to the servlet's output stream. We have to fix this... > > Apart from that, memory consumption very much depends on what your query > does. eXist uses a lazy approach when constructing XML fragments. If > your constructed XML includes references to nodes stored in the db, > eXist will not resolve those references until the fragment is > serialized. Thus memory consumption should be rather low. > The query looks like: for $row in /rows/row return <tr> <td>{$row/a/text()}</td> <td>{$row/b/text()}</td> <td>{$row/c/text()}</td> <td>{$row/d/text()}</td> </tr> Is this considered as as a reference to the text node in the , , <c>, and <d> element? Is there a better way to write this to use less memory? I am shooting at returning 150,000 of those <tr>, so maybe I should just wait until you implement streaming in the REST interface :). Does it make sense for me to create a "bug/RFE" in the SF.net tracker for this, so I can be notified when this is implemented? Alex ----- Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise http://www.orbeon.com/ -- View this message in context: http://www.nabble.com/Query-returning-large-XML-document-tp17834098p17957755.html Sent from the exist-open mailing list archive at Nabble.com. |