public class ReaderLevelProjection extends Object
A "resolved" projection list is a list of concrete columns: table columns, nulls, file metadata or partition metadata. An unresolved list has either table column names, but no match, or a wildcard column.
The idea is that the projection list moves through stages of resolution depending on which information is available. An "early schema" table provides schema information up front, and so allows fully resolving the projection list on table open. A "late schema" table allows only a partially resolved projection list, with the remainder of resolution happening on the first (or perhaps every) batch.
Data source (table) schema can be of two forms:
The final result of the projection is a set of "output" columns: a set of columns that, taken together, defines the row (bundle of vectors) that the scan operator produces. Columns are ordered: the order specified here must match the order that columns appear in the result set loader and the vector container so that code can access columns by index as well as name.
ImplicitColumnExplorer}, the class from which this class
evolved
Modifier and Type | Class and Description |
---|---|
static interface |
ReaderLevelProjection.ReaderProjectionResolver
Reader-level projection is customizable.
|
Modifier and Type | Field and Description |
---|---|
protected List<ReaderLevelProjection.ReaderProjectionResolver> |
resolvers |
Modifier | Constructor and Description |
---|---|
protected |
ReaderLevelProjection(List<ReaderLevelProjection.ReaderProjectionResolver> resolvers) |
Modifier and Type | Method and Description |
---|---|
protected void |
resolveSpecial(ResolvedTuple rootOutputTuple,
ColumnProjection col,
TupleMetadata tableSchema) |
protected final List<ReaderLevelProjection.ReaderProjectionResolver> resolvers
protected ReaderLevelProjection(List<ReaderLevelProjection.ReaderProjectionResolver> resolvers)
protected void resolveSpecial(ResolvedTuple rootOutputTuple, ColumnProjection col, TupleMetadata tableSchema)
Copyright © 1970 The Apache Software Foundation. All rights reserved.