Recursion in XQuery: Put Your Distributivity Safety Belt On
Loredana Afanasiev • Torsten Grust • Maarten Marx • Jan Rittinger • Jens Teubner
Proceedings of the 12th Int’l Conference on Extending Database Technology (EDBT 2009), St. Petersburg, Russia, March 2009.
We introduce a controlled form of recursion in XQuery, an inflationary fixed point operator, familiar from the context of relational databases. This operator imposes restrictions on the expressible types of recursion, but it is sufficiently versatile to capture a wide range of interesting use cases, including regular XPath and its core transitive closure operator.
While the optimization of general user-defined recursive functions in XQuery appears elusive, we describe how inflationary fixed points can be efficiently evaluated, provided that the recursive XQuery expressions are distributive. We test distributivity syntactically and algebraically, and provide experimental evidence that XQuery processors can benefit substantially from this mode of evaluation.