Interface RowIterator<T extends org.apache.flink.table.data.RowData>

All Known Subinterfaces:
ResettableRowBuffer.ResettableIterator
All Known Implementing Classes:
BuildSideIterator, BuildSideIterator.BucketIterator, LongHashPartition.MatchIterator, LookupBucketIterator, ResettableExternalBuffer.BufferIterator, WrappedRowIterator

public interface RowIterator<T extends org.apache.flink.table.data.RowData>
An internal iterator interface which presents a more restrictive API than Iterator.

One major departure from the Java iterator API is the fusing of the `hasNext()` and `next()` calls: Java's iterator allows users to call `hasNext()` without immediately advancing the iterator to consume the next row, whereas RowIterator combines these calls into a single advanceNext() method.

  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Advance this iterator by a single row.
    Retrieve the row from this iterator.
  • Method Details

    • advanceNext

      boolean advanceNext()
      Advance this iterator by a single row. Returns `false` if this iterator has no more rows and `true` otherwise. If this returns `true`, then the new row can be retrieved by calling getRow().
    • getRow

      T getRow()
      Retrieve the row from this iterator. This method is idempotent. It is illegal to call this method after [[advanceNext()]] has returned `false`.