Tanner Clary created CALCITE-6013:
-------------------------------------
Summary: Unnecessary measures added as projects during rel
construction
Key: CALCITE-6013
URL: https://issues.apache.org/jira/browse/CALCITE-6013
Project: Calcite
Issue Type: Bug
Reporter: Tanner Clary
If you have a test like the following (modified from
{{SqlToRelConverterTest#testMeasureRef}})
{code:java}
final String sql = "select deptno as c\n"
+ "from empm\n"
+ "group by deptno";
fixture()
.withFactory(c ->
c.withOperatorTable(t ->
SqlValidatorTest.operatorTableFor(SqlLibrary.CALCITE)))
.withCatalogReader(MockCatalogReaderExtended::create)
.withSql(sql)
.ok();
{code}
The expected results should look something like:
{code:java}
LogicalAggregate(group=[{0}])
LogicalProject(C=[$7])
LogicalTableScan(table=[[CATALOG, SALES, EMPM]])
{code}
Instead it looks like:
{code:java}
LogicalAggregate(group=[{0}])
LogicalProject(C=[$7], COUNT_PLUS_100=[$9], COUNT_TIMES_100=[$10])
LogicalTableScan(table=[[CATALOG, SALES, EMPM]])
{code}
I believe this is due to this commit here:
https://github.com/apache/calcite/commit/568ce125e6d81fe0815f1317ccaf4d558688d945#diff-5d7c774cd39d94b119eedcf3d361e72406c7864e916736c533bbe8f893ca72bcR3397
In essence, the measures should not be added to the projects unless necessary.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)