Patent attributes
Markup language node level hash join operations for evaluating a query language query are performed. The markup language node level hash join mechanism, i.e. the “XHashJoin” operator, is a multi-way join operator that uses two hash tables, BUILD and PROBE, to intersect document nodes from multiple index scans and to buffer intermediate query results. The BUILD hash table stores document nodes matching the predicates of a query, and buffers document nodes satisfying extraction nodes, of each portion of the query up to a current portion of the query being evaluated. The BUILD hash table and the PROBE hash table are switched at each portion of the query being evaluated. Query results are generated by linking document nodes buffered in the BUILD hash table based on the semantics of each extraction node.