Class HybridSnapshotBackedTableLocation<REAL_LOCATION_TYPE extends AbstractTableLocation>

Type Parameters:
REAL_LOCATION_TYPE - the type of the real location, which must extend AbstractTableLocation
All Implemented Interfaces:
LogOutputAppendable, LivenessManager, LivenessNode, LivenessReferent, TableLocation, TableLocationState, NamedImplementation

public class HybridSnapshotBackedTableLocation<REAL_LOCATION_TYPE extends AbstractTableLocation> extends ReferenceCountedLivenessNode implements TableLocation
A TableLocation backed by a TableLocationMetadataIndex.LocationSnapshot that does not refresh and tries to avoid creating the actual location until it is truly needed.

Subscriptions are not supported.

The distinction between the HybridSnapshotBackedTableLocation and the SnapshotBackedTableLocation is that for the hybrid version we may not have the rowset available from the snapshot. If the rowset is unavailable (null), then must realize the real location to return the rowset. This has the effect of requiring the Parquet file to be read to determine how many row groups there are upon the table .coalesce() operation. When only the size is needed (e.g. to just discover the locations and understand they are non-empty), a snapshot without the row group information is sufficient.