[xquery-talk] Release of the GCX XQuery EngineQ

Marc Van Cappellen Marc.Van.Cappellen at datadirect.com
Mon Feb 5 15:12:21 PST 2007


As indicated in some other email on this thread, DataDirect XQuery is an
implementation with both document projection as well as streaming
capabilities.

I'm not sure to agree with the "database-oriented" versus
"document-oriented" categorization. DataDirect XQuery supports various
data sources, but it can also be used in "document-oriented" only
applications and is pull-based internally. At the API side, implementing
an XQJ early draft, it offers both SAX (push) and StAX (pull) without
breaking or limiting the underlying streaming capabilities.

Marc

> -----Original Message-----
> From: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] On
Behalf
> Of Per Bothner
> Sent: Monday, February 05, 2007 2:06 AM
> To: Stefanie Scherzinger
> Cc: talk at x-query.com
> Subject: Re: [xquery-talk] Release of the GCX XQuery EngineQ
> 
> Stefanie Scherzinger wrote:
> > The other in-memory engines (QizX, Galax, and Saxon) implement more
> > XQuery features (or all of them),
> 
> Qexo is also an in-memory engine (though it has an abstraction layer
> to it could potentially hook up to data-base), and open-source
> under a liberal license.
> 
>  > but they are not geared towards stream processing.
>  > ...
> > Unfortunately, no other streaming XQuery implementations are to be
had
> > to be compared against. However, if you know of any suitable
> > implementations, I'd appreciate it very much if you could point us
to
> > them.
> 
> 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.
> 
> The "data-base-oriented" implementations seem to be pull-based,
> while more "document-oriented" ones may be push-based.  At least Qexo
> falls into the latter category, and my impression is Saxon does too.
> My impression from your web-page is that GCX is "push-based", so it
> should be comparable to Qexo and Saxon.
> 
> Now Qexo has not been heavily optimized, and it is certainly true
> that there are places where it re-ifies values where it should stream
> them.  Hopefully I'll have time to study your implementation and
> other relevant research so I can do better.
> --
> 	--Per Bothner
> per at bothner.com   http://per.bothner.com/
> _______________________________________________
> talk at x-query.com
> http://x-query.com/mailman/listinfo/talk



More information about the talk mailing list