[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

Release of the GCX XQuery EngineQ

Stefanie Scherzinger scherzinger at infosys.uni-sb.de
Mon Feb 5 13:11:25 PST 2007


  Release of the GCX XQuery EngineQ
> As I see it, there are two kinds of "streaming" implementations:
> - pull-based: expressions are evaluated at-need (lazily) when and if
> their results are needed; or
> - push-based: expressions are evaluated eagerly, but sub-parts of the
> results are "pushed" to a "consumer" as they are generated, while
> avoiding creating of complete "reified" sequences, if possible.
> ...
> My impression from your web-page is that GCX is "push-based", so it
> should be comparable to Qexo and Saxon.

GCX evaluates queries lazily, and we regarded it as pull-based, with
the notion that the query evaluator is the driving force:  The query
evaluator executes the
query strictly sequentially on the buffered data until it has to
"block",  either because a new node is required (e.g. when a variable
is bound to the
next node in its for-loop) or a signOff -statement is encountered.

In both cases, a request is issued to the buffer manager. If data is required
that is not resident in the buffer, the buffer manager requests
reading the next token from the input stream until the data is
available in the buffer or it has become evident that the data does
not exist in the input (e.g. as the input
has been exhausted). The reception of signOff-statements triggers the
garbage collection.
The reading of tokens from the input is coupled with projection and
role assignment.

For many queries, this "interleaving" works out nicely and we avoid
buffering the complete input document at once. Instead, we can process
the input incrementally.

One reason why this works well for us is that our simple prototype
does not yet support let-statements, so all variables in the query
only refer to nodes from the input document. It would be interesting
to extend garbage collection so that it works also for the results
computed by let-expressions.

Steffi

Steffi


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Cast Your Vote

We need your help – Vote for DataDirect XML Products!

  • Best SOA or XML site

Winners and finalists announced at SOA World Conference in November.

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.