[ 
https://issues.apache.org/jira/browse/CALCITE-5048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516709#comment-17516709
 ] 

Ruben Q L commented on CALCITE-5048:
------------------------------------

Hello [~jiajunbernoulli], for some reason, I cannot assign the ticket to you. 
Do you have contributor role in Jira? If not, could you please send an email to 
Calcite's dev list requesting it (mentioning your Jira login).
In any case, it is not a hard requirement to have the ticket assign to yourself 
to start working in the patch (it is recommendable, but not essential), so in 
the meanwhile, if you wish, you can start working on the PR for this ticket 
even if the ticket is unassigned.

> Query with parameterized LIMIT and correlated sub-query throws AssertionError 
> "not a literal"
> ---------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-5048
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5048
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.29.0
>            Reporter: Corvin Kuebler
>            Priority: Major
>
> This query:
> {code:java}
> // Does not run
> @Test void testDynamicParameterLimit() {
> CalciteAssert.hr()
>   .query("SELECT * FROM \"hr\".\"emps\" AS a " +
>          "WHERE \"deptno\" = " +
>          "(SELECT MAX(\"deptno\") " +
>          "FROM \"hr\".\"emps\" AS b " +
>          "WHERE a.\"empid\" = b.\"empid\"" +
>          ") LIMIT ?")
>   .runs();
> }{code}
> results in the following exception:
> {code:java}
> not a literal: ?0
> java.lang.AssertionError: not a literal: ?0
>     at org.apache.calcite.rex.RexLiteral.findValue(RexLiteral.java:1208)
>     at org.apache.calcite.rex.RexLiteral.intValue(RexLiteral.java:1183)
>     at 
> org.apache.calcite.sql2rel.RelDecorrelator.decorrelateRel(RelDecorrelator.java:481)
>     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>     at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>     at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>     at org.apache.calcite.util.ReflectUtil$2.invoke(ReflectUtil.java:531)
>     at 
> org.apache.calcite.sql2rel.RelDecorrelator.getInvoke(RelDecorrelator.java:711)
>     at 
> org.apache.calcite.sql2rel.RelDecorrelator.decorrelate(RelDecorrelator.java:306)
>     at 
> org.apache.calcite.sql2rel.RelDecorrelator.decorrelateQuery(RelDecorrelator.java:230)
>     at 
> org.apache.calcite.tools.Programs$DecorrelateProgram.run(Programs.java:361)
>     at 
> org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:336)
>     at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:177)
>     at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:312)
>     at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:220){code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to