@Test
public void testFilterByNonProjectedColumn() {
{
Schema actualProjection = SCHEMA.select("id", "data");
List<Record> expected = Lists.newArrayList();
for (Record rec : expected(5, 6 ,7, 8, 9)) {
expected.add(projectFlat(actualProjection, rec));
}
assertEqualsSafe(actualProjection.asStruct(), expected, read(
unpartitioned.toString(),
"cast('2017-12-22 00:00:00+00:00' as timestamp) > ts",
"id", "data"));
}
{
Schema actualProjection = SCHEMA.select("id");
List<Record> expected = Lists.newArrayList();
for (Record rec : expected(1, 2)) {
expected.add(projectFlat(actualProjection, rec));
}
assertEqualsSafe(actualProjection.asStruct(), expected, read(
unpartitioned.toString(),
"ts > cast('2017-12-22 06:00:00+00:00' as timestamp) and " +
"cast('2017-12-22 08:00:00+00:00' as timestamp) > ts",
"id"));
}
}