xzh_dz created CALCITE-4250: ------------------------------- Summary: Failed to get original column of aggregate operator Key: CALCITE-4250 URL: https://issues.apache.org/jira/browse/CALCITE-4250 Project: Calcite Issue Type: Wish Reporter: xzh_dz
We often useĀ `RelMetadataQuery` to track column lineage, but failed to get original column of aggregate operator. This case can be reproduced as below: {code:java} // @Test void testAggregateRelMdColumnOrigins() { final RelBuilder relBuilder = RelBuilder.create(config().build()); final LogicalProject project = (LogicalProject) relBuilder.scan("EMP") .project(relBuilder.field("EMPNO"), relBuilder.field("ENAME"), relBuilder.field("JOB"), relBuilder.field("SAL"), relBuilder.field("DEPTNO")).build(); final LogicalAggregate aggregate = (LogicalAggregate) relBuilder.push(project) .aggregate( relBuilder.groupKey(relBuilder.field(1, 0, "DEPTNO")), relBuilder.count(relBuilder.field(1, 0, "SAL"))) .build(); RelMetadataQuery mq = aggregate.getCluster().getMetadataQuery(); final RelColumnOrigin nameColumn = mq.getColumnOrigin(aggregate , 0); assertThat(nameColumn.getOriginTable().getRowType().getFieldNames().get(7).equals("DEPTNO"), is(true)); System.out.println(nameColumn.getOriginColumnOrdinal()); // 5 } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)