[ https://issues.apache.org/jira/browse/CALCITE-6605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stamatis Zampetakis reassigned CALCITE-6605: -------------------------------------------- Assignee: EveyWu > 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 > Assignee: EveyWu > Priority: Minor > Labels: pull-request-available > Fix For: 1.39.0 > > > 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)