You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Wang Yanlin (Jira)" <ji...@apache.org> on 2019/10/10 09:37:00 UTC

[jira] [Updated] (CALCITE-3397) AssertionError for interpreter multiset

     [ https://issues.apache.org/jira/browse/CALCITE-3397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wang Yanlin updated CALCITE-3397:
---------------------------------
    Description: 
when interpretering sql 

*select multiset['a', 'b', 'c']*

got,
{code:java}
java.lang.AssertionError: interpreter: no implementation for class org.apache.calcite.rel.core.Collect

	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:460)
	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
	at org.apache.calcite.rel.BiRel.childrenAccept(BiRel.java:46)
	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:447)
	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
	at org.apache.calcite.rel.SingleRel.childrenAccept(SingleRel.java:72)
	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:447)
	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visitRoot(Interpreter.java:405)
	at org.apache.calcite.interpreter.Interpreter.<init>(Interpreter.java:88)
	at org.apache.calcite.test.InterpreterTest.testInterpretMultiset(InterpreterTest.java:127)
{code}

Reproduce this with test case in InterpreterTest

{code:java}
@Test public void testInterpretMultiset() throws Exception {
    final String sql = "select multiset['a', 'b', 'c']";
    SqlNode parse = planner.parse(sql);
    SqlNode validate = planner.validate(parse);
    RelNode convert = planner.rel(validate).project();

    final Interpreter interpreter = new Interpreter(dataContext, convert);
    assertRows(interpreter, "[[a, b, c]]");
  }
{code}

  was:
when interpretering sql 

got,

{code:java}
java.lang.AssertionError: interpreter: no implementation for class org.apache.calcite.rel.core.Collect

	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:460)
	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
	at org.apache.calcite.rel.BiRel.childrenAccept(BiRel.java:46)
	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:447)
	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
	at org.apache.calcite.rel.SingleRel.childrenAccept(SingleRel.java:72)
	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:447)
	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visitRoot(Interpreter.java:405)
	at org.apache.calcite.interpreter.Interpreter.<init>(Interpreter.java:88)
	at org.apache.calcite.test.InterpreterTest.testInterpretMultiset(InterpreterTest.java:127)
{code}

Reproduce this with test case 

{code:java}
@Test public void testInterpretMultiset() throws Exception {
    final String sql = "select multiset['a', 'b', 'c']";
    SqlNode parse = planner.parse(sql);
    SqlNode validate = planner.validate(parse);
    RelNode convert = planner.rel(validate).project();

    final Interpreter interpreter = new Interpreter(dataContext, convert);
    assertRows(interpreter, "[[a, b, c]]");
  }
{code}



> AssertionError for interpreter multiset
> ---------------------------------------
>
>                 Key: CALCITE-3397
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3397
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Wang Yanlin
>            Priority: Major
>
> when interpretering sql 
> *select multiset['a', 'b', 'c']*
> got,
> {code:java}
> java.lang.AssertionError: interpreter: no implementation for class org.apache.calcite.rel.core.Collect
> 	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:460)
> 	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
> 	at org.apache.calcite.rel.BiRel.childrenAccept(BiRel.java:46)
> 	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:447)
> 	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
> 	at org.apache.calcite.rel.SingleRel.childrenAccept(SingleRel.java:72)
> 	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visit(Interpreter.java:447)
> 	at org.apache.calcite.interpreter.Nodes$CoreCompiler.visit(Nodes.java:43)
> 	at org.apache.calcite.interpreter.Interpreter$CompilerImpl.visitRoot(Interpreter.java:405)
> 	at org.apache.calcite.interpreter.Interpreter.<init>(Interpreter.java:88)
> 	at org.apache.calcite.test.InterpreterTest.testInterpretMultiset(InterpreterTest.java:127)
> {code}
> Reproduce this with test case in InterpreterTest
> {code:java}
> @Test public void testInterpretMultiset() throws Exception {
>     final String sql = "select multiset['a', 'b', 'c']";
>     SqlNode parse = planner.parse(sql);
>     SqlNode validate = planner.validate(parse);
>     RelNode convert = planner.rel(validate).project();
>     final Interpreter interpreter = new Interpreter(dataContext, convert);
>     assertRows(interpreter, "[[a, b, c]]");
>   }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)