@Test
public void selectDistinctWithoutFrom() throws IOException {
Schema select = distinct(valuesSchema(fields(fieldType("1", "int")), values(1,2)));
Assert.assertEquals("DistinctSchema(schema=ValuesSchema(values=[2, 2], fieldNames=[FieldSchema(id=1, type=int)]))", select.toString());
RelNode relNode = toRelNode(select);
Assert.assertEquals("LogicalValues(type=[RecordType(INTEGER 1)], tuples=[[{ 1 }, { 2 }]])\n",toString(relNode));
}
当values的值没有重复项的时候,distinct不会生效
@Test
public void selectDistinctWithoutFrom() throws IOException {
Schema select = distinct(valuesSchema(fields(fieldType("1", "int")), values(2,2)));
Assert.assertEquals("DistinctSchema(schema=ValuesSchema(values=[2, 2], fieldNames=[FieldSchema(id=1, type=int)]))", select.toString());
RelNode relNode = toRelNode(select);
Assert.assertEquals("LogicalAggregate(group=[{0}])\n" +
" LogicalValues(type=[RecordType(INTEGER 1)], tuples=[[{ 2 }]])\n",toString(relNode));
Assert.assertEquals("(2)\n", dump(relNode));
}
当valus带有重复值的时候,distinct就会生效