You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Sanjai Verma (JIRA)" <ji...@apache.org> on 2017/09/23 12:29:00 UTC

[jira] [Created] (CALCITE-1992) RelNode to Query Convergen

Sanjai Verma created CALCITE-1992:
-------------------------------------

             Summary: RelNode to Query Convergen
                 Key: CALCITE-1992
                 URL: https://issues.apache.org/jira/browse/CALCITE-1992
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.12.0
            Reporter: Sanjai Verma
            Assignee: Julian Hyde


Hi Sir,
I convert a query (
select rpt_unit_num,month(acct_dt),sum(balance) as bal_year from transaction_bal where year(acct_dt)=2017 group by rpt_unit_num,month(acct_dt)  
)
to RelNode rel:
LogicalAggregate(group=[{0, 1}], bal_year=[SUM($2)])
  LogicalProject(rpt_unit_num=[$4], EXPR$1=[EXTRACT_DATE(FLAG(MONTH), Reinterpret($23))], balance=[$24])
    LogicalFilter(condition=[=(EXTRACT_DATE(FLAG(YEAR), Reinterpret($23)), 2017)])
      JdbcTableScan(table=[[svayam_data, transaction_bal]])

but when I convert RelNode rel to Query again using the code:

SqlDialect dialect = SqlDialect.DatabaseProduct.MYSQL.getDialect();
		 RelToSqlConverter rlToSql=new RelToSqlConverter(dialect);
                      if(rel instanceof Aggregate){
                      Aggregate p=(Aggregate)rel;
			  Result rs= rlToSql.visit(p);
			  SqlSelect sqSelect=rs.asSelect();
			String  sql=  sqSelect.toSqlString(dialect).getSql();
}
It gives the exception:
java.lang.UnsupportedOperationException: class org.apache.calcite.sql.SqlSyntax$6: SPECIAL
	at org.apache.calcite.util.Util.needToImplement(Util.java:925)
	at org.apache.calcite.sql.SqlSyntax$6.unparse(SqlSyntax.java:115)
	at org.apache.calcite.sql.SqlOperator.unparse(SqlOperator.java:332)
	at org.apache.calcite.sql.SqlCall.unparse(SqlCall.java:99)
	at org.apache.calcite.sql.SqlNodeList.commaList(SqlNodeList.java:121)
	at org.apache.calcite.sql.SqlOperator.unparseListClause(SqlOperator.java:349)
	at org.apache.calcite.sql.SqlOperator.unparseListClause(SqlOperator.java:338)
	at org.apache.calcite.sql.SqlSelectOperator.unparse(SqlSelectOperator.java:152)
	at org.apache.calcite.sql.SqlSelect.unparse(SqlSelect.java:234)
	at org.apache.calcite.sql.SqlNode.toSqlString(SqlNode.java:141)
	at org.apache.calcite.sql.SqlNode.toSqlString(SqlNode.java:147)
	at changeQuery.BuilRelFinal.printNodeInstance(BuilRelFinal.java:469)
	
 





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