use of org.apache.drill.exec.physical.resultSet.impl.ProjectionFilter.DirectProjectionFilter in project drill by apache.
the class TestProjectionFilter method testProjectList.
@Test
public void testProjectList() {
RequestedTuple projSet = Projections.parse(RowSetTestUtils.projectList("a", "c", "m.a"));
ProjectionFilter filter = new DirectProjectionFilter(projSet, EmptyErrorContext.INSTANCE);
assertTrue(filter.isProjected("a"));
assertTrue(filter.projection(A_COL).isProjected);
assertFalse(filter.isProjected("b"));
assertFalse(filter.projection(B_COL).isProjected);
assertFalse(filter.isEmpty());
ProjResult result = filter.projection(MAP_COL);
assertTrue(result.isProjected);
ProjectionFilter child = result.mapFilter;
assertTrue(child.isProjected("a"));
assertFalse(child.isProjected("b"));
result = filter.projection(MAP_COL2);
assertFalse(result.isProjected);
assertSame(ProjectionFilter.PROJECT_NONE, result.mapFilter);
}
use of org.apache.drill.exec.physical.resultSet.impl.ProjectionFilter.DirectProjectionFilter in project drill by apache.
the class TestProjectionFilter method testBuilders.
@Test
public void testBuilders() {
assertSame(ProjectionFilter.PROJECT_ALL, ProjectionFilter.projectionFilter(Projections.projectAll(), EmptyErrorContext.INSTANCE));
assertSame(ProjectionFilter.PROJECT_NONE, ProjectionFilter.projectionFilter(Projections.projectNone(), EmptyErrorContext.INSTANCE));
assertTrue(ProjectionFilter.projectionFilter(Projections.parse(RowSetTestUtils.projectList("a")), EmptyErrorContext.INSTANCE) instanceof DirectProjectionFilter);
TupleMetadata schema = new SchemaBuilder().add(A_COL.copy()).add(B_COL.copy()).build();
assertSame(ProjectionFilter.PROJECT_NONE, ProjectionFilter.definedSchemaFilter(new TupleSchema(), EmptyErrorContext.INSTANCE));
assertTrue(ProjectionFilter.definedSchemaFilter(schema, EmptyErrorContext.INSTANCE) instanceof SchemaProjectionFilter);
assertTrue(ProjectionFilter.providedSchemaFilter(Projections.projectAll(), schema, EmptyErrorContext.INSTANCE) instanceof CompoundProjectionFilter);
assertSame(ProjectionFilter.PROJECT_NONE, ProjectionFilter.providedSchemaFilter(Projections.projectNone(), schema, EmptyErrorContext.INSTANCE));
assertSame(ProjectionFilter.PROJECT_ALL, ProjectionFilter.providedSchemaFilter(Projections.projectAll(), new TupleSchema(), EmptyErrorContext.INSTANCE));
TupleMetadata strictEmpty = new TupleSchema();
strictEmpty.setBooleanProperty(TupleMetadata.IS_STRICT_SCHEMA_PROP, true);
assertSame(ProjectionFilter.PROJECT_NONE, ProjectionFilter.providedSchemaFilter(Projections.projectAll(), strictEmpty, EmptyErrorContext.INSTANCE));
assertTrue(ProjectionFilter.providedSchemaFilter(Projections.parse(RowSetTestUtils.projectList("a")), schema, EmptyErrorContext.INSTANCE) instanceof CompoundProjectionFilter);
}
use of org.apache.drill.exec.physical.resultSet.impl.ProjectionFilter.DirectProjectionFilter in project drill by apache.
the class TestProjectionFilter method testEmptyProjectList.
@Test
public void testEmptyProjectList() {
ProjectionFilter filter = new DirectProjectionFilter(Projections.projectNone(), EmptyErrorContext.INSTANCE);
assertFalse(filter.isProjected("a"));
assertFalse(filter.projection(A_COL).isProjected);
assertTrue(filter.isEmpty());
ProjResult result = filter.projection(MAP_COL);
assertFalse(result.isProjected);
assertSame(ProjectionFilter.PROJECT_NONE, result.mapFilter);
}
use of org.apache.drill.exec.physical.resultSet.impl.ProjectionFilter.DirectProjectionFilter in project drill by apache.
the class TestProjectionFilter method testCompoundMap.
@Test
public void testCompoundMap() {
TupleMetadata schema = new SchemaBuilder().add(A_COL.copy()).add(B_COL.copy()).addMap("m").add("a", MinorType.INT).add("b", MinorType.INT).resumeSchema().build();
ProjectionFilter filter = new CompoundProjectionFilter(new DirectProjectionFilter(Projections.parse(RowSetTestUtils.projectList("a", "c", "m.a")), EmptyErrorContext.INSTANCE), new SchemaProjectionFilter(schema, EmptyErrorContext.INSTANCE));
ProjResult result = filter.projection(MAP_COL);
assertTrue(result.isProjected);
assertTrue(result.mapFilter.isProjected("a"));
}
use of org.apache.drill.exec.physical.resultSet.impl.ProjectionFilter.DirectProjectionFilter in project drill by apache.
the class TestProjectionFilter method testGenericMap.
@Test
public void testGenericMap() {
RequestedTuple projSet = Projections.parse(RowSetTestUtils.projectList("a", "m"));
ProjectionFilter filter = new DirectProjectionFilter(projSet, EmptyErrorContext.INSTANCE);
assertTrue(filter.isProjected("a"));
ProjResult result = filter.projection(MAP_COL);
assertTrue(result.isProjected);
assertSame(ProjectionFilter.PROJECT_ALL, result.mapFilter);
}
Aggregations