[prev] 32 [next]

Pipelining Example (cont)

...
Join: -- nested-loop join
    iter2 = startScan(Sel1)
    while (R = nextTuple(iter2) {
        iter3 = startScan(Sel2)
        while (S = nextTuple(iter3))
            { if (matches(R,S) return (RS) }
        endScan(iter3) // better to reset(iter3)
    }
    endScan(iter2)
Sel2:
    iter5 = startScan(Btree(Student,'name=John'))
    while (B = nextTuple(iter5)) { return B }
    endScan(iter5)