There are many cases where the ingestion process is a no-op; a single source is used to build a single destination table, or the source rows are ingested from a generator. There is no advantage gained from the ingestion.
In these cases, it should be possible for ingestion to be short-circuited. Perhaps a few rows are ingested to establish headers, but then the source is handed directly to the build pipeline.
In this case, we would need to have:
a proxy interface to get source table mapping from source header to dest header. The map would be a no-op.
a generalized row interface on the source.
If ingestion has been run, the source row interface will iterate over the ingested source. Otherwise it iterates over the original source.
There are many cases where the ingestion process is a no-op; a single source is used to build a single destination table, or the source rows are ingested from a generator. There is no advantage gained from the ingestion.
In these cases, it should be possible for ingestion to be short-circuited. Perhaps a few rows are ingested to establish headers, but then the source is handed directly to the build pipeline.
In this case, we would need to have:
If ingestion has been run, the source row interface will iterate over the ingested source. Otherwise it iterates over the original source.