(t RowNumber, d int)
| 1102 | } |
| 1103 | |
| 1104 | func (j *JoinIterator) seekAll(t RowNumber, d int) error { |
| 1105 | var err error |
| 1106 | t = TruncateRowNumber(d, t) |
| 1107 | for iterNum, iter := range j.iters { |
| 1108 | if j.peeks[iterNum] == nil || CompareRowNumbers(d, j.peeks[iterNum].RowNumber, t) == -1 { |
| 1109 | // Release peek if present |
| 1110 | // These results have been collected but never returned upstream, |
| 1111 | // so we know it is safe to release them. |
| 1112 | if j.peeks[iterNum] != nil { |
| 1113 | j.peeks[iterNum].Release() |
| 1114 | } |
| 1115 | |
| 1116 | j.peeks[iterNum], err = iter.SeekTo(t, d) |
| 1117 | if err != nil { |
| 1118 | return err |
| 1119 | } |
| 1120 | if j.peeks[iterNum] == nil { |
| 1121 | // This iterator is exhausted, no reason to seek the remaining |
| 1122 | break |
| 1123 | } |
| 1124 | } |
| 1125 | } |
| 1126 | return nil |
| 1127 | } |
| 1128 | |
| 1129 | func (j *JoinIterator) peek(iterNum int) (*IteratorResult, error) { |
| 1130 | var err error |
no test coverage detected