Název:
Hromadné vyhodnocování uživatelských funkcí v jazyce XQuery
Překlad názvu:
Bulk Evaluation of User-Defined Functions in XQuery
Autoři:
Bednárek, David ; Král, Jaroslav (vedoucí práce) ; Kuznetsov, Sergey (oponent) ; Krátký, Michal (oponent) Typ dokumentu: Disertační práce
Rok:
2009
Jazyk:
eng
Abstrakt: [eng][cze] XPath queries are usually translated into an algebra that combines traditional relational operators and XML-speciffic ones. In particular, FLWOR loops are represented using nest, unnest, join, and similar operators and their original nested-loop nature disappears, creating an opportunity for bulk evaluation and join reordering. In XQuery, two additional issues shall be handled - tree construction and the presence of user-deffined functions. The recursive nature of functions pushes the problem outside of the range of relational algebra. This thesis presents a novel evaluation framework based on an expanding network of relational operators, called R-program. In this environment, functions are evaluated in bulk instead of evaluating each call separately. Besides obvious advantages of bulk evaluation, R-programs also allow rearrangement of data flow across function boundaries. A set of program transformations employing these capabilities is described; together with rule-based static interprocedural analysis algorithms used to determine the applicability of the transformations.Dotazy v jazyce XPath jsou obvykle překládány do algebraického systému kombinujícího tradiční relační operátory s operátory specifickými pro XML. Konstrukce FLWOR jsou pak reprezentovány operátory nest, unnest, join a dalšími, čímž se ztrácí jejich vnořený charakter a otevírá se příležitost pro hromadné vyhodnocování a restrukturalizaci spojení. V jazyce XQuery přibývají dva další problémy - konstrukce stromů a přítomnost uživatelských funkcí. Rekurzivní charakter funkcí nedovoluje reprezentaci tohoto jazyka uvnitř relační algebry. V této práci je prezentován nový přístup k vyhodnocování založený na expandující síti relačních operátorů, nazvané R-program. V tomto prostředí jsou funkce vyhodnocovány hromadně namísto separátního vyhodnocování každého volání zvlášť. Vedle zřejmých výhod hromadného vyhodnocování R-programy dovolují restrukturalizaci toku dat přes rozhraní funkcí. V práci je uvedena sada transformací využivajících tyto schopnosti a algoritmy statické interprocedurální analýzy určující aplikovatelnost uvedených transformací.