[
https://issues.apache.org/jira/browse/CALCITE-5048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17516709#comment-17516709
]
Ruben Q L edited comment on CALCITE-5048 at 4/4/22 9:24 AM:
------------------------------------------------------------
Hello [~jiajunbernoulli], sorry for the delay, 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.
was (Author: rubenql):
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)