(t RowNumber, d int)
| 1703 | } |
| 1704 | |
| 1705 | func (u *UnionIterator) SeekTo(t RowNumber, d int) (*IteratorResult, error) { |
| 1706 | var err error |
| 1707 | t = TruncateRowNumber(d, t) |
| 1708 | for iterNum, iter := range u.iters { |
| 1709 | if p := u.peeks[iterNum]; p == nil || CompareRowNumbers(d, p.RowNumber, t) == -1 { |
| 1710 | // Release peek if present |
| 1711 | // These results have been collected but never returned upstream, |
| 1712 | // so we know it is safe to release them. |
| 1713 | if p != nil { |
| 1714 | p.Release() |
| 1715 | } |
| 1716 | |
| 1717 | u.peeks[iterNum], err = iter.SeekTo(t, d) |
| 1718 | if err != nil { |
| 1719 | return nil, fmt.Errorf("union iterator seek to failed: %w", err) |
| 1720 | } |
| 1721 | } |
| 1722 | } |
| 1723 | return u.Next() |
| 1724 | } |
| 1725 | |
| 1726 | func (u *UnionIterator) peek(iterNum int) (*IteratorResult, error) { |
| 1727 | var err error |
nothing calls this directly
no test coverage detected