XQuery Function Inlining for Optimizing XQuery Queries.
Function inlining replaces a call to a function with the body of the function. In this paper, we investigate the application of function inlining technique to user-defined functions expressed in XML Query Lanquage (XQuery). XQuery function inlining eliminates function call overhead and allows statically optimizing the inlined function body with the rest of the query. We suggest an inlining algorithm that inlines calls to all non-recursive functions and usually allows completely inlining calls to structurally recursive functions, a class of recursive functions most interesting from practical viewpoint. The suggested algorithm reasonably terminates infinite inlining for recursive functions of any kind that makes the algorithm applicable to any XQuery query. Experimental measurements show the efficiency of the suggested approach for optimising XQuery queries and for speeding up their evaluation.Full text of the paper in pdf