1. A method comprising: receiving, on a computing device, a plurality of execution results corresponding to a plurality of query language expressions, the plurality of query language expressions being concurrently executed against a document, and the receiving being contemporaneous with interleaved production of the plurality of execution results; creating, on the computing device, a plurality of result handles correspondingly associated with the plurality of query language expressions; storing, on the computing device, at least a first received portion of one of the plurality of execution results in one of the plurality of result handles associated with a corresponding one of the plurality of query language expressions, wherein said storing is contemporaneous with further production of at least a second portion of the one of the plurality of execution results; upon receiving the second portion of the one of the execution results, and in response to a determination of insufficient space for the second received portion, reserving a new memory block, on the computing device, setting a most recently reserved memory block to point to the new memory block, thereby creating a linked list of reserved memory blocks associated with the one of the plurality of results handles, and storing, the second portion of the one of the execution results in the new memory block; and storing metadata associated with the corresponding one of the plurality of query language expressions and references to the linked list of reserved memory blocks in the one of the plurality of result handles wherein said metadata includes at least an indication of whether result items of the corresponding one of the plurality of query language expressions are homogenous or heterogeneous.
1. A method comprising: receiving, on a computing device, a plurality of execution results corresponding to a plurality of query language expressions, the plurality of query language expressions being concurrently executed against a document, and the receiving being contemporaneous with interleaved production of the plurality of execution results; creating, on the computing device, a plurality of result handles correspondingly associated with the plurality of query language expressions; storing, on the computing device, at least a first received portion of one of the plurality of execution results in one of the plurality of result handles associated with a corresponding one of the plurality of query language expressions, wherein said storing is contemporaneous with further production of at least a second portion of the one of the plurality of execution results; upon receiving the second portion of the one of the execution results, and in response to a determination of insufficient space for the second received portion, reserving a new memory block, on the computing device, setting a most recently reserved memory block to point to the new memory block, thereby creating a linked list of reserved memory blocks associated with the one of the plurality of results handles, and storing, the second portion of the one of the execution results in the new memory block; and storing metadata associated with the corresponding one of the plurality of query language expressions and references to the linked list of reserved memory blocks in the one of the plurality of result handles wherein said metadata includes at least an indication of whether result items of the corresponding one of the plurality of query language expressions are homogenous or heterogeneous. 4. The method of claim 1 , further comprising storing a context for the corresponding one of the plurality of query language expressions in the linked list of reserved memory blocks.