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
Modifier and TypeInterfaceDescriptionstatic class
Schema-based projection.static class
Compound filter for combining direct and provided schema projections.static class
Projection filter based on the (parsed) projection list.static class
Implied projection: either project all or project none.static class
static class
Projection filter in which a schema exactly defines the set of allowed columns, and their types.static class
Projection based on a non-strict provided schema which enforces the type of known columns, but has no opinion about additional columns. -
Field Summary
Modifier and TypeFieldDescriptionstatic final org.slf4j.Logger
static final ProjectionFilter.ProjResult
static final ProjectionFilter
static final ProjectionFilter
static final ProjectionFilter.ProjResult
-
Method Summary
Modifier and TypeMethodDescriptionstatic ProjectionFilter
definedSchemaFilter
(TupleMetadata definedSchema, CustomErrorContext errorContext) boolean
isEmpty()
boolean
isProjected
(String colName) projection
(ColumnMetadata columnSchema) static ProjectionFilter
projectionFilter
(RequestedTuple tupleProj, CustomErrorContext errorContext) static ProjectionFilter
providedSchemaFilter
(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)
-