You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Nikhil Goyal <no...@gmail.com> on 2022/03/22 23:47:19 UTC

Calcite SQL parser error

Hi folks,
I am running into this error:

Exception in thread "main" java.lang.RuntimeException: No list started
at
org.apache.calcite.sql.pretty.SqlPrettyWriter.sep(SqlPrettyWriter.java:1079)
at
org.apache.calcite.sql.pretty.SqlPrettyWriter.sep(SqlPrettyWriter.java:1074)
at org.apache.calcite.sql.SqlJoin$SqlJoinOperator.unparse(SqlJoin.java:214)
at org.apache.calcite.sql.SqlDialect.unparseCall(SqlDialect.java:470)
at org.apache.calcite.sql.SqlCall.unparse(SqlCall.java:104)
at org.apache.calcite.sql.SqlNode.toSqlString(SqlNode.java:151)
at org.apache.calcite.sql.SqlNode.toString(SqlNode.java:126)
at java.lang.String.valueOf(String.java:2994)
at java.io.PrintStream.println(PrintStream.java:821)
at scala.Console$.println(Console.scala:271)
at scala.Predef$.println(Predef.scala:404)
at com.cdl.common.sparksql.SQLtoDF$.main(SQLtoDF.scala:53)
at com.cdl.common.sparksql.SQLtoDF.main(SQLtoDF.scala)

This is the code:

    val query =
      "SELECT e.first_name AS FirstName, s.salary AS Salary from employee
AS e join salary AS s on e.emp_id=s.emp_id where e.organization = 'Tesla'
and s.organization = 'Tesla'"

    val config = SqlParser.configBuilder.setCaseSensitive(false).build

    val parser = SqlParser.create(query, config)
    val node = parser.parseQuery()
    val select = node.asInstanceOf[SqlSelect]
    println(select.getFrom)

Any idea what is going on?

Thanks
Nikhil

Re: Calcite SQL parser error

Posted by Julian Hyde <jh...@gmail.com>.
Already logged as https://issues.apache.org/jira/browse/CALCITE-4401 <https://issues.apache.org/jira/browse/CALCITE-4401>. Contributions welcome.


> On Mar 22, 2022, at 4:47 PM, Nikhil Goyal <no...@gmail.com> wrote:
> 
> Hi folks,
> I am running into this error:
> 
> Exception in thread "main" java.lang.RuntimeException: No list started
> at
> org.apache.calcite.sql.pretty.SqlPrettyWriter.sep(SqlPrettyWriter.java:1079)
> at
> org.apache.calcite.sql.pretty.SqlPrettyWriter.sep(SqlPrettyWriter.java:1074)
> at org.apache.calcite.sql.SqlJoin$SqlJoinOperator.unparse(SqlJoin.java:214)
> at org.apache.calcite.sql.SqlDialect.unparseCall(SqlDialect.java:470)
> at org.apache.calcite.sql.SqlCall.unparse(SqlCall.java:104)
> at org.apache.calcite.sql.SqlNode.toSqlString(SqlNode.java:151)
> at org.apache.calcite.sql.SqlNode.toString(SqlNode.java:126)
> at java.lang.String.valueOf(String.java:2994)
> at java.io.PrintStream.println(PrintStream.java:821)
> at scala.Console$.println(Console.scala:271)
> at scala.Predef$.println(Predef.scala:404)
> at com.cdl.common.sparksql.SQLtoDF$.main(SQLtoDF.scala:53)
> at com.cdl.common.sparksql.SQLtoDF.main(SQLtoDF.scala)
> 
> This is the code:
> 
>    val query =
>      "SELECT e.first_name AS FirstName, s.salary AS Salary from employee
> AS e join salary AS s on e.emp_id=s.emp_id where e.organization = 'Tesla'
> and s.organization = 'Tesla'"
> 
>    val config = SqlParser.configBuilder.setCaseSensitive(false).build
> 
>    val parser = SqlParser.create(query, config)
>    val node = parser.parseQuery()
>    val select = node.asInstanceOf[SqlSelect]
>    println(select.getFrom)
> 
> Any idea what is going on?
> 
> Thanks
> Nikhil