Paul Jackson created CALCITE-6126:
-------------------------------------

             Summary: Return type check fails with OVER without AS
                 Key: CALCITE-6126
                 URL: https://issues.apache.org/jira/browse/CALCITE-6126
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: Paul Jackson


The following {{RelMetadataTest}} test fails:

{{@Test void testOverNoPartitioning() {}}
{{  sql("select max(empno) over (rows between 2 preceding and 0 following) from 
emp")}}
{{    .assertThatAreColumnsUnique(bitSetOf(0), is(false))}}
{{    .assertThatUniqueKeysAre();}}
{{}}}

With this error:

{{java.lang.AssertionError: Conversion to relational algebra failed to preserve 
datatypes:}}
{{validated type:}}
{{RecordType(INTEGER EXPR$0) NOT NULL}}
{{converted type:}}
{{RecordType(INTEGER NOT NULL EXPR$0) NOT NULL}}
{{rel:}}
{{LogicalProject(EXPR$0=[MAX($0) OVER ()])}}
{{  LogicalTableScan(table=[[CATALOG, SALES, EMP]])}}
{{ at 
org.apache.calcite.sql2rel.SqlToRelConverter.checkConvertedType(SqlToRelConverter.java:507)}}
{{ at 
org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:622)}}
{{ at 
org.apache.calcite.sql.test.AbstractSqlTester.convertSqlToRel2(AbstractSqlTester.java:541)}}
{{ at 
org.apache.calcite.sql.test.SqlTester.convertSqlToRel(SqlTester.java:291)}}
{{ at 
org.apache.calcite.test.RelMetadataFixture.sqlToRel(RelMetadataFixture.java:189)}}
{{ at 
org.apache.calcite.test.RelSupplier$SqlRelSupplier.apply2(RelSupplier.java:104)}}
{{ at 
org.apache.calcite.test.RelMetadataFixture.toRel(RelMetadataFixture.java:195)}}
{{ at 
org.apache.calcite.test.RelMetadataFixture.assertThatAreColumnsUnique(RelMetadataFixture.java:508)}}

 

The query parses without error if the expression is aliased:

{{@Test void testOverNoPartitioning() {}}
{{sql("select max(empno) over (rows between 2 preceding and 0 following) maxEmp 
from emp")}}
{{.assertThatAreColumnsUnique(bitSetOf(0), is(false))}}
{{.assertThatUniqueKeysAre();}}
{{{}}{}}}{{{}{}}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to