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

Amogh Margoor commented on CALCITE-1003:
----------------------------------------

Hi [~julianhyde]
I have raised PR for this issue: 
https://github.com/apache/calcite/pull/174/files
Current utility handles basic cases, but does not handle specialized Rel Nodes 
like EnumerableLimit, JdbcToEnumerable etc.
I think we can add more utilities that extend this basic utility (such as 
EnumerableToSql, JdbcRelToSql etc) and handle such specialized cases.
I can add them after this change gets in, if that is the right way to do it.
Thanks.

> Add Utility to convert RelNode to SqlNode
> -----------------------------------------
>
>                 Key: CALCITE-1003
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1003
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Amogh Margoor
>            Assignee: Julian Hyde
>            Priority: Minor
>             Fix For: next
>
>
> To track progress on Rel2Sql Converter.
> Following is the email conversation that lead to this JIRA:
> {quote}
> On Wed, Dec 2, 2015 at 3:13 AM, Julian Hyde <[email protected]> wrote:
>     Yes, this would definitely be useful in Calcite. Thanks for offering.
>     I would like to reduce the amount of code copy-pasted from the JdbcXxx 
> relational expressions, but we can work on that after it is committed in and 
> when there are some unit tests.
>     Can you please create a JIRA case with an initial pull-request?
>     I think the unit tests could be of the following form:
> {code}
>       @Test public void testScan() {
>         final String sql = “select * from emp”;
>         final String after = "SELECT *\n”
>             + "FROM \”EMP\””;
>         check(sql, after);
>       }
> {code}
>     where “after” is the result of the round trip SQL => SqlNode => RelNode 
> => SqlNode => SQL, and your utility is performing the 3rd “=>”.
>     Julian
>     > On Dec 1, 2015, at 12:28 AM, Amogh Margoor <[email protected]> wrote:
>     >
>     > Hi,
>     > We have an usecase where we need to just send back optimized query as 
> SQL,
>     > without executing it. So we needed an utility to convert RelNode back to
>     > SQL, and found most of the logic to be in JDBCRel. As we needed it for 
> non
>     > JDBC source, we created an utility to do so:
>     > 
> https://github.com/amoghmargoor/incubator-calcite/blob/NEZ-52/core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java
>     >
>     > Utility is almost completely copy-pasted from JDBCRels with few fixes 
> from
>     > our side to make it work. If such utility will be useful in Calcite then
>     > let us know, we can plan raising PRs with required UTs.
>     >
>     > Regards,
>     > Amogh
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to