Interface ScanTableSource

All Superinterfaces:
DynamicTableSource

@PublicEvolving public interface ScanTableSource extends DynamicTableSource
A DynamicTableSource that scans all rows from an external storage system during runtime.

The scanned rows don't have to contain only insertions but can also contain updates and deletions. Thus, the table source can be used to read a (finite or infinite) changelog. The given ChangelogMode indicates the set of changes that the planner can expect during runtime.

For regular batch scenarios, the source can emit a bounded stream of insert-only rows.

For regular streaming scenarios, the source can emit an unbounded stream of insert-only rows.

For change data capture (CDC) scenarios, the source can emit bounded or unbounded streams with insert, update, and delete rows. See also RowKind.

A ScanTableSource can implement the following abilities that might mutate an instance during planning:

In the last step, the planner will call getScanRuntimeProvider(ScanContext) for obtaining a provider of runtime implementation.