{
List<Page> input = rowPagesBuilder(VARCHAR, BIGINT)
.addSequencePage(100, 0, 0)
.build();
OperatorFactory operatorFactory = new FilterAndProjectOperatorFactory(
0,
new FilterFunction()
{
@Override
public boolean filter(int position, Block... blocks)
{
long value = BIGINT.getLong(blocks[1], position);
return 10 <= value && value < 20;
}
@Override
public boolean filter(RecordCursor cursor)
{
long value = cursor.getLong(0);
return 10 <= value && value < 20;
}
},
ImmutableList.of(singleColumn(VARCHAR, 0), new Add5Projection(1)));
Operator operator = operatorFactory.createOperator(driverContext);
MaterializedResult expected = MaterializedResult.resultBuilder(driverContext.getSession(), VARCHAR, BIGINT)
.row("10", 15)
.row("11", 16)
.row("12", 17)