EveyWu created CALCITE-6605: -------------------------------- Summary: Lattice SQL supports complex column expressions Key: CALCITE-6605 URL: https://issues.apache.org/jira/browse/CALCITE-6605 Project: Calcite Issue Type: Improvement Reporter: EveyWu
In Lattice, using a complex expression in the measures triggers an `UnsupportedOperationException`. {code:java} @Test void testExpressionLatticeSql4() throws Exception { final Tester t = new Tester().foodmart().withEvolve(true); final String q0 = "select\n" + " \"num_children_at_home\" + 12 as \"n12\",\n" + " sum(\"num_children_at_home\" + 10) as \"n10\",\n" + " sum(\"num_children_at_home\" + 11) as \"n11\",\n" + " count(*) as c\n" + "from \"customer\"\n" + "group by \"num_children_at_home\" + 12"; t.addQuery(q0); final Lattice lattice = Iterables.getOnlyElement(t.s.latticeMap.values()); Builder groupSetBuilder = ImmutableBitSet.builder(); ImmutableList<Measure> measures = lattice.defaultMeasures; measures.forEach(measure -> groupSetBuilder.addAll(measure.argBitSet())); ImmutableBitSet groupSet = groupSetBuilder.build(); lattice.sql(groupSet, true, measures); } {code} Exception information: {code:java} java.lang.UnsupportedOperationException at org.apache.calcite.materialize.Lattice.lambda$resolveField$0(Lattice.java:385) at org.apache.calcite.rel.rel2sql.SqlImplementor$SimpleContext.field(SqlImplementor.java:1563) at org.apache.calcite.rel.rel2sql.SqlImplementor$Context.toSql(SqlImplementor.java:661) at org.apache.calcite.rel.rel2sql.SqlImplementor$Context.toSql(SqlImplementor.java:1179) at org.apache.calcite.rel.rel2sql.SqlImplementor$Context.callToSql(SqlImplementor.java:861) at org.apache.calcite.rel.rel2sql.SqlImplementor$Context.toSql(SqlImplementor.java:834) at org.apache.calcite.materialize.Lattice$SqlWriter.write(Lattice.java:791) at org.apache.calcite.materialize.Lattice$DerivedColumn.toSql(Lattice.java:760) at org.apache.calcite.materialize.Lattice.sql(Lattice.java:295) [0;1mat org.apache.calcite.materialize.LatticeSuggesterTest.testExpressionLatticeSql4(LatticeSuggesterTest.java:835) {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)