You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Enrico Olivelli (JIRA)" <ji...@apache.org> on 2017/11/22 15:32:00 UTC

[jira] [Comment Edited] (CALCITE-2061) Support for dynamic parameters in offset/fetch (limit)

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

Enrico Olivelli edited comment on CALCITE-2061 at 11/22/17 3:31 PM:
--------------------------------------------------------------------

I have integrated your changes [~julianhyde]
I can't find how to resolve the value for RexNode which is not a literal
this is an example of error
can you point me the correct way to do it ?
{code}
java.lang.AssertionError: not a literal: ?0
	at org.apache.calcite.rex.RexLiteral.findValue(RexLiteral.java:960)
	at org.apache.calcite.rex.RexLiteral.intValue(RexLiteral.java:935)
	at org.apache.calcite.adapter.enumerable.EnumerableLimit.implement(EnumerableLimit.java:120)
	at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.visitChild(EnumerableRelImplementor.java:103)
	at org.apache.calcite.adapter.enumerable.EnumerableCalc.implement(EnumerableCalc.java:124)
	at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:108)
	at org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92)
	at org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1261)
	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:330)
	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:229)
{core}


was (Author: eolivelli):
I have integrated your changes [~julianhyde]
I can't find how to resolve the value for RexNode which is not a literal
this is an example of error
can you point me the correct way to do it ?
{code}

java.lang.AssertionError: not a literal: ?0
	at org.apache.calcite.rex.RexLiteral.findValue(RexLiteral.java:960)
	at org.apache.calcite.rex.RexLiteral.intValue(RexLiteral.java:935)
	at org.apache.calcite.adapter.enumerable.EnumerableLimit.implement(EnumerableLimit.java:120)
	at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.visitChild(EnumerableRelImplementor.java:103)
	at org.apache.calcite.adapter.enumerable.EnumerableCalc.implement(EnumerableCalc.java:124)
	at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:108)
	at org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92)
	at org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1261)
	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:330)
	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:229)
{core}

> Support for dynamic parameters in offset/fetch (limit)
> ------------------------------------------------------
>
>                 Key: CALCITE-2061
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2061
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.15.0
>            Reporter: Enrico Olivelli
>            Assignee: Julian Hyde
>            Priority: Critical
>
> Fetch/Offset already support RexNode, it will be useful to support Dynamic parameters as well.
> This implementation is needed to be able to run Yahoo YCSB JDBC benchmarks which does large use of this syntax
> select .... LIMIT ?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)