Interface ProjectionFilter
- All Known Implementing Classes:
DynamicSchemaFilter,DynamicSchemaFilter.DynamicTupleFilter,DynamicSchemaFilter.RowSchemaFilter,ProjectionFilter.BaseSchemaProjectionFilter,ProjectionFilter.CompoundProjectionFilter,ProjectionFilter.DirectProjectionFilter,ProjectionFilter.ImplicitProjectionFilter,ProjectionFilter.SchemaProjectionFilter,ProjectionFilter.TypeProjectionFilter
public interface ProjectionFilter
Provides a variety of ways to filter columns: no filtering, filter
by (parsed) projection list, or filter by projection list and
provided schema. Enforces consistency of actual reader schema and
projection list and/or provided schema.
Projection filters should not need to be extensible; filtering depends only on projection and provided schema.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classSchema-based projection.static classCompound filter for combining direct and provided schema projections.static classProjection filter based on the (parsed) projection list.static classImplied projection: either project all or project none.static classstatic classProjection filter in which a schema exactly defines the set of allowed columns, and their types.static classProjection based on a non-strict provided schema which enforces the type of known columns, but has no opinion about additional columns. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.slf4j.Loggerstatic final ProjectionFilter.ProjResultstatic final ProjectionFilterstatic final ProjectionFilterstatic final ProjectionFilter.ProjResult -
Method Summary
Modifier and TypeMethodDescriptionstatic ProjectionFilterdefinedSchemaFilter(TupleMetadata definedSchema, CustomErrorContext errorContext) booleanisEmpty()booleanisProjected(String colName) projection(ColumnMetadata columnSchema) static ProjectionFilterprojectionFilter(RequestedTuple tupleProj, CustomErrorContext errorContext) static ProjectionFilterprovidedSchemaFilter(RequestedTuple tupleProj, TupleMetadata providedSchema, CustomErrorContext errorContext)
-
Field Details
-
logger
static final org.slf4j.Logger logger -
PROJECT_ALL
-
PROJECT_NONE
-
NOT_PROJECTED
-
PROJECTED
-
-
Method Details
-
projection
-
isProjected
-
isEmpty
boolean isEmpty() -
projectionFilter
-
providedSchemaFilter
static ProjectionFilter providedSchemaFilter(RequestedTuple tupleProj, TupleMetadata providedSchema, CustomErrorContext errorContext) -
definedSchemaFilter
static ProjectionFilter definedSchemaFilter(TupleMetadata definedSchema, CustomErrorContext errorContext)
-